Skip to content

Commit 54d41c2

Browse files
author
git apple-llvm automerger
committed
Merge commit '0c2a4d3c1c95' from llvm.org/master into apple/master
2 parents a7764e9 + 0c2a4d3 commit 54d41c2

File tree

1 file changed

+9
-15
lines changed

1 file changed

+9
-15
lines changed

mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -134,18 +134,14 @@ static Value buildVectorComparison(ConversionPatternRewriter &rewriter,
134134
Value indices;
135135
Type idxType;
136136
if (enableIndexOptimizations) {
137-
SmallVector<int32_t, 4> values(dim);
138-
for (int64_t d = 0; d < dim; d++)
139-
values[d] = d;
140-
indices =
141-
rewriter.create<ConstantOp>(loc, rewriter.getI32VectorAttr(values));
137+
indices = rewriter.create<ConstantOp>(
138+
loc, rewriter.getI32VectorAttr(
139+
llvm::to_vector<4>(llvm::seq<int32_t>(0, dim))));
142140
idxType = rewriter.getI32Type();
143141
} else {
144-
SmallVector<int64_t, 4> values(dim);
145-
for (int64_t d = 0; d < dim; d++)
146-
values[d] = d;
147-
indices =
148-
rewriter.create<ConstantOp>(loc, rewriter.getI64VectorAttr(values));
142+
indices = rewriter.create<ConstantOp>(
143+
loc, rewriter.getI64VectorAttr(
144+
llvm::to_vector<4>(llvm::seq<int64_t>(0, dim))));
149145
idxType = rewriter.getI64Type();
150146
}
151147
// Add in an offset if requested.
@@ -451,11 +447,9 @@ class VectorGatherOpConversion : public ConvertToLLVMPattern {
451447
return failure();
452448

453449
// Replace with the gather intrinsic.
454-
ValueRange v = (llvm::size(adaptor.pass_thru()) == 0) ? ValueRange({})
455-
: adaptor.pass_thru();
456450
rewriter.replaceOpWithNewOp<LLVM::masked_gather>(
457-
gather, typeConverter.convertType(vType), ptrs, adaptor.mask(), v,
458-
rewriter.getI32IntegerAttr(align));
451+
gather, typeConverter.convertType(vType), ptrs, adaptor.mask(),
452+
adaptor.pass_thru(), rewriter.getI32IntegerAttr(align));
459453
return success();
460454
}
461455
};
@@ -1282,7 +1276,7 @@ class VectorTransferConversion : public ConvertToLLVMPattern {
12821276
// dimensions here.
12831277
unsigned vecWidth = vecTy.getVectorNumElements();
12841278
unsigned lastIndex = llvm::size(xferOp.indices()) - 1;
1285-
Value off = *(xferOp.indices().begin() + lastIndex);
1279+
Value off = xferOp.indices()[lastIndex];
12861280
Value dim = rewriter.create<DimOp>(loc, xferOp.memref(), lastIndex);
12871281
Value mask = buildVectorComparison(rewriter, op, enableIndexOptimizations,
12881282
vecWidth, dim, &off);

0 commit comments

Comments
 (0)