From c577f91d266b74d1b5df475fa2dce7c47fc6c57e Mon Sep 17 00:00:00 2001 From: Charitha Saumya <136391709+charithaintc@users.noreply.github.com> Date: Thu, 18 Apr 2024 11:13:49 -0700 Subject: [mlir][vector] Add support for linearizing Extract, ExtractStridedSlice, Shuffle VectorOps in VectorLinearize (#88204) This PR adds support for converting `vector.extract_strided_slice` and `vector.extract` operations to equivalent `vector.shuffle` operations that operates on linearized (1-D) vectors. `vector.shuffle` operations operating on n-D (n > 1) are also converted to equivalent shuffle operations working on linearized vectors. --- mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp') diff --git a/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp b/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp index 006225999105..c978699e179f 100644 --- a/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp +++ b/mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp @@ -867,6 +867,8 @@ struct TestVectorLinearize final vector::populateVectorLinearizeTypeConversionsAndLegality( typeConverter, patterns, target, targetVectorBitwidth); + vector::populateVectorLinearizeShuffleLikeOpsPatterns( + typeConverter, patterns, target, targetVectorBitwidth); if (failed(applyPartialConversion(getOperation(), target, std::move(patterns)))) return signalPassFailure(); -- cgit v1.2.3