Exclude SystemC variables from DFG (#6208)

SystemC variables are fairly special (they can only be assigned to/from,
but not otherwise participate in expressions), which complicates some
DFG code. These variables only ever appear as port on the top level
wrapper, so excluding them from DFG does not make us loose any
optimizations, but simplifies internals.
This commit is contained in:
Geza Lore
2025-07-21 18:32:08 +01:00
committed by GitHub
parent a8dca71ed0
commit 7646e7d89c
6 changed files with 9 additions and 28 deletions
-3
View File
@@ -639,9 +639,6 @@ DfgVertexVar* DfgVertex::getResultVar() {
this->forEachSink([&resp](DfgVertex& sink) {
DfgVertexVar* const varp = sink.cast<DfgVertexVar>();
if (!varp) return;
// Ignore SystemC variables, they cannot participate in expressions or
// be assigned rvalue expressions.
if (varp->varp()->isSc()) return;
// First variable found
if (!resp) {
resp = varp;