[Mlir-commits] [mlir] 8d5c1e6 - [mlir][vector] Skip uniform vectorization for non scalar type (#128294)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Sat Feb 22 02:57:51 PST 2025
Author: Kai Sasaki
Date: 2025-02-22T19:57:48+09:00
New Revision: 8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a
URL: https://github.com/llvm/llvm-project/commit/8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a
DIFF: https://github.com/llvm/llvm-project/commit/8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a.diff
LOG: [mlir][vector] Skip uniform vectorization for non scalar type (#128294)
Added:
Modified:
mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
Removed:
################################################################################
diff --git a/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp b/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
index 71e9648a5e00f..eaaafaf68767e 100644
--- a/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
+++ b/mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
@@ -1106,6 +1106,10 @@ static bool isUniformDefinition(Value value,
if (!loop.isDefinedOutsideOfLoop(value))
return false;
}
+
+ if (!value.getType().isIntOrIndexOrFloat())
+ return false;
+
return true;
}
diff --git a/mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir b/mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
index 9244604128cb7..81b04ccceaf27 100644
--- a/mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
+++ b/mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
@@ -684,3 +684,19 @@ func.func @vec_vecdim_reduction_rejected(%in: memref<256x512xf32>, %out: memref<
// CHECK-LABEL: @vec_vecdim_reduction_rejected
// CHECK-NOT: vector
+
+
+// -----
+
+// Non scalar type is not regarded as the uniform in the vectorization
+func.func @vec_non_scalar_type() {
+ %idx0 = index.constant 0
+ %alloc_82 = memref.alloc() : memref<1xi64>
+ affine.for %arg0 = 0 to 78 {
+ %dim_191 = memref.dim %alloc_82, %idx0 : memref<1xi64>
+ }
+ return
+}
+
+// CHECK-LABEL: @vec_non_scalar_type
+// CHECK-NOT: vector
More information about the Mlir-commits
mailing list