[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