@@ -134,18 +134,14 @@ static Value buildVectorComparison(ConversionPatternRewriter &rewriter,
134
134
Value indices;
135
135
Type idxType;
136
136
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))));
142
140
idxType = rewriter.getI32Type ();
143
141
} 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))));
149
145
idxType = rewriter.getI64Type ();
150
146
}
151
147
// Add in an offset if requested.
@@ -451,11 +447,9 @@ class VectorGatherOpConversion : public ConvertToLLVMPattern {
451
447
return failure ();
452
448
453
449
// Replace with the gather intrinsic.
454
- ValueRange v = (llvm::size (adaptor.pass_thru ()) == 0 ) ? ValueRange ({})
455
- : adaptor.pass_thru ();
456
450
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));
459
453
return success ();
460
454
}
461
455
};
@@ -1282,7 +1276,7 @@ class VectorTransferConversion : public ConvertToLLVMPattern {
1282
1276
// dimensions here.
1283
1277
unsigned vecWidth = vecTy.getVectorNumElements ();
1284
1278
unsigned lastIndex = llvm::size (xferOp.indices ()) - 1 ;
1285
- Value off = *( xferOp.indices (). begin () + lastIndex) ;
1279
+ Value off = xferOp.indices ()[ lastIndex] ;
1286
1280
Value dim = rewriter.create <DimOp>(loc, xferOp.memref (), lastIndex);
1287
1281
Value mask = buildVectorComparison (rewriter, op, enableIndexOptimizations,
1288
1282
vecWidth, dim, &off);
0 commit comments