You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bisecting changes points to efc4327 which changes code close to the assert that fires on the unreduced source, Assert 'flow.wire_comb_defs[it].size() == 1'
If I checkout efc4327 and restore this line that was removed by that commit:
diff --git a/backends/cxxrtl/cxxrtl_backend.cc b/backends/cxxrtl/cxxrtl_backend.cc
index dfdb9df74..cec5dc0a5 100644
--- a/backends/cxxrtl/cxxrtl_backend.cc
+++ b/backends/cxxrtl/cxxrtl_backend.cc
@@ -2794,6 +2794,7 @@ struct CxxrtlWorker {
for (auto wire : module->wires()) {
const auto &wire_type = wire_types[wire];
auto &debug_wire_type = debug_wire_types[wire];
+ if (wire_type.type == WireType::UNUSED) continue;
if (!debug_info) continue;
if (wire->port_input || wire_type.is_buffered())
Then I do not trip the above assertions. However I don't understand the code enough to know why this is.
edit: following this I could reduce further and have now opened a second issue #2883 for that assertion
Steps to reproduce the issue
See comments on #2881. File
bug.il
:Run:
Expected behavior
Either write out a .cpp file, or respond with an error about some issue with the RTL
Actual behavior
Trips an internal assertion in the CXXRTL backend:
(removed some other notes that are now covered by #2883)
The text was updated successfully, but these errors were encountered: