[Mlir-commits] [mlir] [mlir][vector] Add vector.to_elements unrolling (PR #157142)

James Newling llvmlistbot at llvm.org
Mon Sep 8 13:06:14 PDT 2025


================
@@ -311,6 +311,18 @@ void populateVectorToFromElementsToShuffleTreePatterns(
 void populateVectorFromElementsLoweringPatterns(RewritePatternSet &patterns,
                                                 PatternBenefit benefit = 1);
 
+/// Populate the pattern set with the following patterns:
+///
+/// [UnrollToElements]
+void populateVectorToElementsLoweringPatterns(RewritePatternSet &patterns,
+                                              PatternBenefit benefit = 1);
+
+/// Populate the pattern set with the following patterns:
+///
+/// [FlattenToElements]
+void populateVectorToElementsFlatteningPatterns(RewritePatternSet &patterns,
----------------
newling wrote:

Flattening/Linearizing is done in Transforms/VectorLinearize.cpp, where there is currently a pattern to linearize from_elements (see https://github.com/llvm/llvm-project/pull/154664). There is a plan to use rewrite patterns like done in this PR (https://github.com/llvm/llvm-project/issues/146030) but for now I think it'd be better to keep consistency and follow the conversion approach.

https://github.com/llvm/llvm-project/pull/157142


More information about the Mlir-commits mailing list