Fold loop

This commit is contained in:
Eddie Hung 2019-11-25 15:43:37 -08:00
parent 7f0914a408
commit da51492dbc
1 changed files with 3 additions and 6 deletions

View File

@ -189,6 +189,7 @@ struct XAigerWriter
if (bit != wirebit) if (bit != wirebit)
alias_map[bit] = wirebit; alias_map[bit] = wirebit;
input_bits.insert(wirebit); input_bits.insert(wirebit);
undriven_bits.erase(bit);
} }
if (wire->port_output || keep) { if (wire->port_output || keep) {
@ -196,6 +197,8 @@ struct XAigerWriter
if (bit != wirebit) if (bit != wirebit)
alias_map[wirebit] = bit; alias_map[wirebit] = bit;
output_bits.insert(wirebit); output_bits.insert(wirebit);
if (!wire->port_input)
unused_bits.erase(bit);
} }
else else
log_debug("Skipping PO '%s' driven by 1'bx\n", log_signal(wirebit)); log_debug("Skipping PO '%s' driven by 1'bx\n", log_signal(wirebit));
@ -203,12 +206,6 @@ struct XAigerWriter
} }
} }
for (auto bit : input_bits)
undriven_bits.erase(sigmap(bit));
for (auto bit : output_bits)
if (!bit.wire->port_input)
unused_bits.erase(bit);
// TODO: Speed up toposort -- ultimately we care about // TODO: Speed up toposort -- ultimately we care about
// box ordering, but not individual AIG cells // box ordering, but not individual AIG cells
dict<SigBit, pool<IdString>> bit_drivers, bit_users; dict<SigBit, pool<IdString>> bit_drivers, bit_users;