diff options
author | David Shah <davey1576@gmail.com> | 2018-12-18 15:01:04 +0000 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-12-19 10:36:55 +0000 |
commit | f21791fe22512812a5f5988c001db9d6926b0ebb (patch) | |
tree | df6ed11a31d1ef0b6ae2787173d85710d9de3af3 /common | |
parent | 0a494fa66cb6e1ca1773e40fb887efeab0574ac8 (diff) | |
download | nextpnr-f21791fe22512812a5f5988c001db9d6926b0ebb.tar.gz nextpnr-f21791fe22512812a5f5988c001db9d6926b0ebb.tar.bz2 nextpnr-f21791fe22512812a5f5988c001db9d6926b0ebb.zip |
common/chain_utils: Don't allow overlapping chains
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/chain_utils.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/common/chain_utils.h b/common/chain_utils.h index b783e30b..300d96a1 100644 --- a/common/chain_utils.h +++ b/common/chain_utils.h @@ -51,7 +51,8 @@ std::vector<CellChain> find_chains(const Context *ctx, F1 cell_type_predicate, F CellChain chain; CellInfo *end = start; while (end != nullptr) { - chain.cells.push_back(end); + if (chained.insert(end->name).second) + chain.cells.push_back(end); end = get_next(ctx, end); } if (chain.cells.size() >= min_length) { |