mirror of https://github.com/YosysHQ/yosys.git
cxxrtl: demote wires not inlinable only in debug_eval to locals.
Fixes #3112. Co-authored-by: Irides <irides@irides.network>
This commit is contained in:
parent
b07ca8756a
commit
7f2ea7d222
|
@ -2888,15 +2888,16 @@ struct CxxrtlWorker {
|
||||||
debug_wire_type = {WireType::INLINE, node->cell}; // wire replaced with cell
|
debug_wire_type = {WireType::INLINE, node->cell}; // wire replaced with cell
|
||||||
break;
|
break;
|
||||||
case FlowGraph::Node::Type::CONNECT:
|
case FlowGraph::Node::Type::CONNECT:
|
||||||
debug_wire_type = {WireType::INLINE, node->connect.second}; // wire replaced with sig
|
debug_wire_type = {WireType::INLINE, node->connect.second}; // wire replaced with sig
|
||||||
break;
|
break;
|
||||||
default: continue;
|
default: continue;
|
||||||
}
|
}
|
||||||
debug_live_nodes.erase(node);
|
debug_live_nodes.erase(node);
|
||||||
} else if (wire_type.is_member() || wire_type.is_local()) {
|
} else if (wire_type.is_member() || wire_type.type == WireType::LOCAL) {
|
||||||
debug_wire_type = wire_type; // wire not inlinable
|
debug_wire_type = wire_type; // wire not inlinable
|
||||||
} else {
|
} else {
|
||||||
log_assert(wire_type.type == WireType::UNUSED);
|
log_assert(wire_type.type == WireType::INLINE ||
|
||||||
|
wire_type.type == WireType::UNUSED);
|
||||||
if (flow.wire_comb_defs[wire].size() == 0) {
|
if (flow.wire_comb_defs[wire].size() == 0) {
|
||||||
if (wire_init.count(wire)) { // wire never modified
|
if (wire_init.count(wire)) { // wire never modified
|
||||||
debug_wire_type = {WireType::CONST, wire_init.at(wire)};
|
debug_wire_type = {WireType::CONST, wire_init.at(wire)};
|
||||||
|
|
Loading…
Reference in New Issue