[Mlir-commits] [mlir] 074414f - [mlir][sparse] Use vector.step for index vector generation (#97692)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Jul 8 00:29:52 PDT 2024


Author: Cullen Rhodes
Date: 2024-07-08T08:29:49+01:00
New Revision: 074414fdbdff93bd14fe0a46499cf4fb03587899

URL: https://github.com/llvm/llvm-project/commit/074414fdbdff93bd14fe0a46499cf4fb03587899
DIFF: https://github.com/llvm/llvm-project/commit/074414fdbdff93bd14fe0a46499cf4fb03587899.diff

LOG: [mlir][sparse] Use vector.step for index vector generation (#97692)

Added: 
    

Modified: 
    mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
index 2b81d6cdc1eabe..7a2400b41b0456 100644
--- a/mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
+++ b/mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
@@ -381,18 +381,7 @@ static bool vectorizeExpr(PatternRewriter &rewriter, scf::ForOp forOp, VL vl,
       if (codegen) {
         VectorType vtp = vectorType(vl, arg.getType());
         Value veci = rewriter.create<vector::BroadcastOp>(loc, vtp, arg);
-        Value incr;
-        if (vl.enableVLAVectorization) {
-          Type stepvty = vectorType(vl, rewriter.getI64Type());
-          Value stepv = rewriter.create<LLVM::StepVectorOp>(loc, stepvty);
-          incr = rewriter.create<arith::IndexCastOp>(loc, vtp, stepv);
-        } else {
-          SmallVector<APInt> integers;
-          for (unsigned i = 0, l = vl.vectorLength; i < l; i++)
-            integers.push_back(APInt(/*width=*/64, i));
-          auto values = DenseElementsAttr::get(vtp, integers);
-          incr = rewriter.create<arith::ConstantOp>(loc, vtp, values);
-        }
+        Value incr = rewriter.create<vector::StepOp>(loc, vtp);
         vexp = rewriter.create<arith::AddIOp>(loc, veci, incr);
       }
       return true;


        


More information about the Mlir-commits mailing list