13 #include "mlir/Transforms/GreedyPatternRewriteDriver.h"
14 #include "mlir/Transforms/Passes.h"
17 using namespace circt;
22 mlir::GreedyRewriteConfig config;
23 config.useTopDownTraversal =
true;
24 config.enableRegionSimplification =
false;
25 return mlir::createCanonicalizerPass(config);
39 pm.addPass(mlir::createCSEPass());
40 pm.nest<DesignOp>().addPass(
51 pm.nest<ibis::DesignOp>()
52 .nest<ibis::ClassOp>()
53 .nest<ibis::MethodOp>()
55 pm.addPass(mlir::createMem2Reg());
66 pm.nest<ibis::DesignOp>()
67 .nest<ibis::ClassOp>()
68 .nest<ibis::MethodOp>()
static std::unique_ptr< Pass > createSimpleCanonicalizerPass()
Create a simple canonicalizer pass.
std::unique_ptr< mlir::Pass > createVerifyInnerRefNamespacePass()
std::unique_ptr< mlir::Pass > createReblockPass()
std::unique_ptr< mlir::Pass > createInlineSBlocksPass()
std::unique_ptr< mlir::Pass > createTunnelingPass(const IbisTunnelingOptions &={})
void loadIbisHighLevelPassPipeline(mlir::PassManager &pm)
void loadIbisLowLevelPassPipeline(mlir::PassManager &pm)
std::unique_ptr< mlir::Pass > createCleanSelfdriversPass()
std::unique_ptr< mlir::Pass > createContainerizePass()
std::unique_ptr< mlir::Pass > createArgifyBlocksPass()
std::unique_ptr< mlir::Pass > createContainersToHWPass()
std::unique_ptr< mlir::Pass > createPortrefLoweringPass()
The InstanceGraph op interface, see InstanceGraphInterface.td for more details.
std::unique_ptr< mlir::Pass > createMaximizeSSAPass()