mirror of
https://github.com/verilator/verilator.git
synced 2026-10-07 18:42:58 +02:00
Support more complex combinational assignments in DFG. (#6205)
Previously DFG was limited to having a Sel, or an ArraySel potentially under a Concat on the LHS of combinational assignments. Other forms or combinations were not representable in the graph. This adds support for arbitrary combinations of the above by combining DfgSplicePacked and DfgSpliceArray vertices introduced in #6176. In particular, Sel(ArraySel(VarRef,_),_) enables a lot more code to be represented in DFG.
This commit is contained in:
@@ -50,7 +50,7 @@ class DfgRegularize final {
|
||||
if (vtx.is<DfgVertexSplice>()) {
|
||||
const bool hasNonVarSink
|
||||
= vtx.findSink<DfgVertex>([](const DfgVertex& snk) { //
|
||||
return !snk.is<DfgVertexVar>();
|
||||
return !snk.is<DfgVertexVar>() && !snk.is<DfgVertexSplice>();
|
||||
});
|
||||
return hasNonVarSink;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user