mirror of https://github.com/YosysHQ/yosys.git
cxxrtl: mark dead local wires as unused even with inlining disabled.
Fixes #2739.
This commit is contained in:
parent
1aab608cff
commit
54b6cb645f
|
@ -2733,12 +2733,14 @@ struct CxxrtlWorker {
|
||||||
for (auto wire : module->wires()) {
|
for (auto wire : module->wires()) {
|
||||||
auto &wire_type = wire_types[wire];
|
auto &wire_type = wire_types[wire];
|
||||||
if (!wire_type.is_local()) continue;
|
if (!wire_type.is_local()) continue;
|
||||||
if (!wire->name.isPublic() && !inline_internal) continue;
|
|
||||||
if (wire->name.isPublic() && !inline_public) continue;
|
|
||||||
|
|
||||||
if (live_wires[wire].empty()) {
|
if (live_wires[wire].empty()) {
|
||||||
wire_type = {WireType::UNUSED}; // wire never used
|
wire_type = {WireType::UNUSED}; // wire never used
|
||||||
} else if (flow.is_inlinable(wire, live_wires[wire])) {
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!wire->name.isPublic() && !inline_internal) continue;
|
||||||
|
if (wire->name.isPublic() && !inline_public) continue;
|
||||||
|
if (flow.is_inlinable(wire, live_wires[wire])) {
|
||||||
if (flow.wire_comb_defs[wire].size() > 1)
|
if (flow.wire_comb_defs[wire].size() > 1)
|
||||||
log_cmd_error("Wire %s.%s has multiple drivers!\n", log_id(module), log_id(wire));
|
log_cmd_error("Wire %s.%s has multiple drivers!\n", log_id(module), log_id(wire));
|
||||||
log_assert(flow.wire_comb_defs[wire].size() == 1);
|
log_assert(flow.wire_comb_defs[wire].size() == 1);
|
||||||
|
|
Loading…
Reference in New Issue