34 bool canIncreaseSize,
bool oneShot)
35 :
context(
context), canIncreaseSize(canIncreaseSize), oneShot(oneShot) {
40 pm = std::make_unique<mlir::PassManager>(
41 context,
"builtin.module", mlir::OpPassManager::Nesting::Explicit);
42 auto opName = pass->getOpName();
43 if (opName && *opName ==
"firrtl.circuit")
44 pm->nest<firrtl::CircuitOp>().addPass(std::move(pass));
45 else if (opName && *opName ==
"firrtl.module")
46 pm->nest<firrtl::CircuitOp>().nest<firrtl::FModuleOp>().addPass(
48 else if (opName && *opName ==
"hw.module")
51 pm->addPass(std::move(pass));
static std::unique_ptr< Context > context