diff --git a/lib/Firtool/Firtool.cpp b/lib/Firtool/Firtool.cpp index 59a2f7b50667..db6a5973c5ae 100644 --- a/lib/Firtool/Firtool.cpp +++ b/lib/Firtool/Firtool.cpp @@ -59,16 +59,15 @@ LogicalResult firtool::populateCHIRRTLToLowFIRRTL(mlir::PassManager &pm, pm.nest().addPass(firrtl::createInjectDUTHierarchyPass()); + if (!opt.shouldDisableOptimization()) + pm.nest().nestAny().addPass(mlir::createCSEPass()); + pm.nest().nest().addPass( firrtl::createPassiveWiresPass()); pm.nest().nest().addPass( firrtl::createDropNamesPass(opt.getPreserveMode())); - if (!opt.shouldDisableOptimization()) - pm.nest().nest().addPass( - mlir::createCSEPass()); - pm.nest().nest().addPass( firrtl::createLowerCHIRRTLPass());