mirror of https://github.com/YosysHQ/yosys.git
Merge pull request #2498 from StefanBruens/Fix_opt_lut
Fix use-after-free in LUT opt pass
This commit is contained in:
commit
2b62b5ef34
|
@ -277,12 +277,13 @@ struct OptLutWorker
|
|||
module->connect(lut_output, value);
|
||||
sigmap.add(lut_output, value);
|
||||
|
||||
module->remove(lut);
|
||||
luts.erase(lut);
|
||||
luts_arity.erase(lut);
|
||||
luts_dlogics.erase(lut);
|
||||
luts_dlogic_inputs.erase(lut);
|
||||
|
||||
module->remove(lut);
|
||||
|
||||
eliminated_count++;
|
||||
if (limit > 0)
|
||||
limit--;
|
||||
|
@ -493,11 +494,12 @@ struct OptLutWorker
|
|||
luts_arity[lutM] = lutM_arity;
|
||||
luts.erase(lutR);
|
||||
luts_arity.erase(lutR);
|
||||
lutR->module->remove(lutR);
|
||||
|
||||
worklist.insert(lutM);
|
||||
worklist.erase(lutR);
|
||||
|
||||
lutR->module->remove(lutR);
|
||||
|
||||
combined_count++;
|
||||
if (limit > 0)
|
||||
limit--;
|
||||
|
|
Loading…
Reference in New Issue