Skip to content

Commit

Permalink
[firtool] Move 1st DropName to after CSE. Delete 2nd DropName pass. (#…
Browse files Browse the repository at this point in the history
…4928)

This reduces entire execution time by 2~3%.
  • Loading branch information
uenoku authored Apr 4, 2023
1 parent 212e926 commit f915d62
Showing 1 changed file with 3 additions and 7 deletions.
10 changes: 3 additions & 7 deletions tools/firtool/firtool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -525,14 +525,13 @@ static LogicalResult processBuffer(

pm.nest<firrtl::CircuitOp>().addPass(firrtl::createLowerIntrinsicsPass());

// TODO: Move this to the O1 pipeline.
pm.nest<firrtl::CircuitOp>().nest<firrtl::FModuleOp>().addPass(
firrtl::createDropNamesPass(preserveMode));

if (!disableOptimization)
pm.nest<firrtl::CircuitOp>().nest<firrtl::FModuleOp>().addPass(
createCSEPass());

pm.nest<firrtl::CircuitOp>().nest<firrtl::FModuleOp>().addPass(
firrtl::createDropNamesPass(preserveMode));

pm.nest<firrtl::CircuitOp>().addPass(firrtl::createInjectDUTHierarchyPass());

pm.nest<firrtl::CircuitOp>().nest<firrtl::FModuleOp>().addPass(
Expand Down Expand Up @@ -639,9 +638,6 @@ static LogicalResult processBuffer(
pm.nest<firrtl::CircuitOp>().addPass(
firrtl::createBlackBoxReaderPass(blackBoxRoot));

pm.nest<firrtl::CircuitOp>().nest<firrtl::FModuleOp>().addPass(
firrtl::createDropNamesPass(preserveMode));

// Run SymbolDCE as late as possible, but before InnerSymbolDCE. This is for
// hierpathop's and just for general cleanup.
pm.addNestedPass<firrtl::CircuitOp>(mlir::createSymbolDCEPass());
Expand Down

0 comments on commit f915d62

Please sign in to comment.