22void rtg::populateRandomizerPipeline(mlir::PassManager &pm,
28 pm.addInstrumentation(
34 auto &anyPm = pm.nestAny();
35 anyPm.addPass(mlir::createCSEPass());
43 ElaborationPassOptions passOptions;
44 passOptions.seed = options.
getSeed();
45 pm.addPass(rtg::createElaborationPass(passOptions));
47 pm.addPass(rtg::createInlineSequencesPass());
48 pm.addPass(rtg::createLowerUniqueLabelsPass());
49 pm.addNestedPass<rtg::TestOp>(rtg::createLinearScanRegisterAllocationPass());
51 auto &anyPm = pm.nestAny();
52 anyPm.addPass(mlir::createCSEPass());
56 if (options.
getOutputFormat() == RtgToolOptions::OutputFormat::ElaboratedMLIR)
60 EmitRTGISAAssemblyPassOptions passOptions;
62 passOptions.unsupportedInstructions = unsupported;
63 passOptions.unsupportedInstructionsFile =
67 pm.addPass(rtg::createEmitRTGISAAssemblyPass(passOptions));