Fix memory corruption bug in opt_rmdff
authorClifford Wolf <clifford@clifford.at>
Thu, 26 Oct 2017 16:02:15 +0000 (18:02 +0200)
committerClifford Wolf <clifford@clifford.at>
Thu, 26 Oct 2017 16:02:15 +0000 (18:02 +0200)
passes/opt/opt_rmdff.cc

index 02f3e93f5a0ac02d99e12bc38592864c9e234621..edec42c4d5686ae14146e554de12c0d387b480a5 100644 (file)
@@ -430,6 +430,8 @@ struct OptRmdffPass : public Pass {
 
                        assign_map.set(module);
                        dff_init_map.set(module);
+                       mux_drivers.clear();
+                       init_attributes.clear();
 
                        for (auto wire : module->wires())
                        {
@@ -534,6 +536,7 @@ struct OptRmdffPass : public Pass {
 
                assign_map.clear();
                mux_drivers.clear();
+               init_attributes.clear();
 
                if (total_count || total_initdrv)
                        design->scratchpad_set_bool("opt.did_something", true);