diff --git a/mlir/lib/Transforms/Canonicalizer.cpp b/mlir/lib/Transforms/Canonicalizer.cpp --- a/mlir/lib/Transforms/Canonicalizer.cpp +++ b/mlir/lib/Transforms/Canonicalizer.cpp @@ -21,22 +21,17 @@ namespace { /// Canonicalize operations in nested regions. struct Canonicalizer : public CanonicalizerBase { + Canonicalizer() = default; Canonicalizer(const GreedyRewriteConfig &config, ArrayRef disabledPatterns, - ArrayRef enabledPatterns) - : config(config) { + ArrayRef enabledPatterns) { + this->topDownProcessingEnabled = config.useTopDownTraversal; + this->enableRegionSimplification = config.enableRegionSimplification; + this->maxIterations = config.maxIterations; this->disabledPatterns = disabledPatterns; this->enabledPatterns = enabledPatterns; } - Canonicalizer() { - // Default constructed Canonicalizer takes its settings from command line - // options. - config.useTopDownTraversal = topDownProcessingEnabled; - config.enableRegionSimplification = enableRegionSimplification; - config.maxIterations = maxIterations; - } - /// Initialize the canonicalizer by building the set of patterns used during /// execution. LogicalResult initialize(MLIRContext *context) override { @@ -51,11 +46,16 @@ return success(); } void runOnOperation() override { + GreedyRewriteConfig config; + config.useTopDownTraversal = topDownProcessingEnabled; + config.enableRegionSimplification = enableRegionSimplification; + config.maxIterations = maxIterations; + llvm::dbgs() << "canonicalizer config.useTopDownTraveral = " + << config.useTopDownTraversal << "\n"; (void)applyPatternsAndFoldGreedily(getOperation()->getRegions(), patterns, config); } - GreedyRewriteConfig config; FrozenRewritePatternSet patterns; }; } // namespace