diff --git a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp --- a/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp +++ b/mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp @@ -23,6 +23,7 @@ #include "mlir/Dialect/Tensor/Utils/Utils.h" #include "mlir/Dialect/Transform/IR/TransformDialect.h" #include "mlir/Dialect/Transform/IR/TransformInterfaces.h" +#include "mlir/Dialect/Transform/IR/TransformOps.h" #include "mlir/Dialect/Transform/IR/TransformTypes.h" #include "mlir/Dialect/Transform/Utils/Utils.h" #include "mlir/Dialect/Utils/IndexingUtils.h" @@ -3012,7 +3013,10 @@ if (getVectorizePadding()) linalg::populatePadOpVectorizationPatterns(patterns); - if (failed(applyPatternsAndFoldGreedily(target, std::move(patterns)))) + TrackingListener listener(state); + GreedyRewriteConfig config; + config.listener = &listener; + if (failed(applyPatternsAndFoldGreedily(target, std::move(patterns), config))) return emitDefaultDefiniteFailure(target); results.push_back(target);