diff --git a/mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h b/mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h --- a/mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h +++ b/mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h @@ -34,9 +34,6 @@ // Populate functions. //===----------------------------------------------------------------------===// -/// Collects a set of patterns to rewrite ops within the tensor dialect. -void populateExpandOpsPatterns(RewritePatternSet &patterns); - /// Appends patterns for folding tensor aliasing ops into consumer load/store /// ops into `patterns`. void populateFoldTensorSubsetOpPatterns(RewritePatternSet &patterns); diff --git a/mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp b/mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp --- a/mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp +++ b/mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp @@ -144,6 +144,26 @@ #define GET_OP_LIST #include "mlir/Dialect/Tensor/TransformOps/TensorTransformOps.cpp.inc" >(); + + addDialectDataInitializer( + [&](transform::PatternRegistry ®istry) { + registry.registerPatterns("tensor.fold_tensor_subset_ops", + tensor::populateFoldTensorSubsetOpPatterns); + registry.registerPatterns( + "tensor.merge_consecutive_insert_extract_slice", + tensor::populateMergeConsecutiveInsertExtractSlicePatterns); + registry.registerPatterns( + "tensor.drop_redundant_insert_slice_rank_expansion", + tensor::populateDropRedundantInsertSliceRankExpansionPatterns); + registry.registerPatterns( + "tensor.reassociative_reshape_folding", + tensor::populateReassociativeReshapeFoldingPatterns); + registry.registerPatterns("tensor.fold_tensor_empty", + tensor::populateFoldTensorEmptyPatterns); + registry.registerPatterns( + "tensor.fold_into_pack_and_unpack", + tensor::populateFoldIntoPackAndUnpackPatterns); + }); } }; } // namespace