aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-12-19 10:54:44 +0000
committerGitHub <noreply@github.com>2018-12-19 10:54:44 +0000
commitc46a22cb7ff3449464a60c3bc62b22dded78d306 (patch)
tree374505ed838f9edef85e8f6e4b34289b91090664
parentdc10fe031927c7821af05d72f06d8add8d4c0a31 (diff)
parentf21791fe22512812a5f5988c001db9d6926b0ebb (diff)
downloadnextpnr-c46a22cb7ff3449464a60c3bc62b22dded78d306.tar.gz
nextpnr-c46a22cb7ff3449464a60c3bc62b22dded78d306.tar.bz2
nextpnr-c46a22cb7ff3449464a60c3bc62b22dded78d306.zip
Merge pull request #184 from YosysHQ/fix_183
common/chain_utils: Don't allow overlapping chains
-rw-r--r--common/chain_utils.h3
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) {