diff options
author | Rick Altherr <kc8apf@kc8apf.net> | 2016-01-30 19:26:46 -0800 |
---|---|---|
committer | Rick Altherr <kc8apf@kc8apf.net> | 2016-01-31 09:20:16 -0800 |
commit | 34969d41405a1ad418b82caa394f880ea0f6243f (patch) | |
tree | 4acb3f252cac0f57f446d3c41c1dc737069c1b0d /frontends | |
parent | cd3e1095b0c77e3a58feff259b7612e9701f6ce4 (diff) | |
download | yosys-34969d41405a1ad418b82caa394f880ea0f6243f.tar.gz yosys-34969d41405a1ad418b82caa394f880ea0f6243f.tar.bz2 yosys-34969d41405a1ad418b82caa394f880ea0f6243f.zip |
genrtlil: avoid converting SigSpec to set<SigBit> when going through removeSignalFromCaseTree()
Diffstat (limited to 'frontends')
-rw-r--r-- | frontends/ast/genrtlil.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/frontends/ast/genrtlil.cc b/frontends/ast/genrtlil.cc index 87e8379e9..876bfbe3d 100644 --- a/frontends/ast/genrtlil.cc +++ b/frontends/ast/genrtlil.cc @@ -379,7 +379,7 @@ struct AST_INTERNAL::ProcessGenerator // e.g. when the last statement in the code "a = 23; if (b) a = 42; a = 0;" is processed this // function is called to clean up the first two assignments as they are overwritten by // the third assignment. - void removeSignalFromCaseTree(const std::set<RTLIL::SigBit> &pattern, RTLIL::CaseRule *cs) + void removeSignalFromCaseTree(const RTLIL::SigSpec &pattern, RTLIL::CaseRule *cs) { for (auto it = cs->actions.begin(); it != cs->actions.end(); it++) it->first.remove2(pattern, &it->second); @@ -434,7 +434,7 @@ struct AST_INTERNAL::ProcessGenerator subst_rvalue_map.set(unmapped_lvalue[i], rvalue[i]); } - removeSignalFromCaseTree(lvalue.to_sigbit_set(), current_case); + removeSignalFromCaseTree(lvalue, current_case); remove_unwanted_lvalue_bits(lvalue, rvalue); current_case->actions.push_back(RTLIL::SigSig(lvalue, rvalue)); } @@ -511,7 +511,7 @@ struct AST_INTERNAL::ProcessGenerator subst_rvalue_map.set(this_case_eq_lvalue[i], this_case_eq_ltemp[i]); this_case_eq_lvalue.replace(subst_lvalue_map.stdmap()); - removeSignalFromCaseTree(this_case_eq_lvalue.to_sigbit_set(), current_case); + removeSignalFromCaseTree(this_case_eq_lvalue, current_case); addChunkActions(current_case->actions, this_case_eq_lvalue, this_case_eq_ltemp); } break; |