Skip to content

Commit 074414f

Browse files
authored
[mlir][sparse] Use vector.step for index vector generation (#97692)
1 parent 64740ed commit 074414f

File tree

1 file changed

+1
-12
lines changed

1 file changed

+1
-12
lines changed

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

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -381,18 +381,7 @@ static bool vectorizeExpr(PatternRewriter &rewriter, scf::ForOp forOp, VL vl,
381381
if (codegen) {
382382
VectorType vtp = vectorType(vl, arg.getType());
383383
Value veci = rewriter.create<vector::BroadcastOp>(loc, vtp, arg);
384-
Value incr;
385-
if (vl.enableVLAVectorization) {
386-
Type stepvty = vectorType(vl, rewriter.getI64Type());
387-
Value stepv = rewriter.create<LLVM::StepVectorOp>(loc, stepvty);
388-
incr = rewriter.create<arith::IndexCastOp>(loc, vtp, stepv);
389-
} else {
390-
SmallVector<APInt> integers;
391-
for (unsigned i = 0, l = vl.vectorLength; i < l; i++)
392-
integers.push_back(APInt(/*width=*/64, i));
393-
auto values = DenseElementsAttr::get(vtp, integers);
394-
incr = rewriter.create<arith::ConstantOp>(loc, vtp, values);
395-
}
384+
Value incr = rewriter.create<vector::StepOp>(loc, vtp);
396385
vexp = rewriter.create<arith::AddIOp>(loc, veci, incr);
397386
}
398387
return true;

0 commit comments

Comments
 (0)