19
19
20
20
#include " llvm/Transforms/Scalar/LowerMatrixIntrinsics.h"
21
21
#include " llvm/ADT/PostOrderIterator.h"
22
+ #include " llvm/ADT/STLExtras.h"
22
23
#include " llvm/ADT/ScopeExit.h"
23
24
#include " llvm/ADT/SmallSet.h"
24
25
#include " llvm/ADT/SmallVector.h"
@@ -1223,7 +1224,7 @@ class LowerMatrixIntrinsics {
1223
1224
MatrixTy M = getMatrix (Inst->getOperand (0 ), SI, Builder);
1224
1225
Builder.setFastMathFlags (getFastMathFlags (Inst));
1225
1226
1226
- for (auto & Vector : M.vectors ()) {
1227
+ for (auto * Vector : M.vectors ()) {
1227
1228
switch (Inst->getIntrinsicID ()) {
1228
1229
case Intrinsic::abs:
1229
1230
Result.addVector (Builder.CreateBinaryIntrinsic (Intrinsic::abs, Vector,
@@ -2256,9 +2257,8 @@ class LowerMatrixIntrinsics {
2256
2257
2257
2258
Builder.setFastMathFlags (getFastMathFlags (Inst));
2258
2259
2259
- for (unsigned I = 0 ; I < SI.getNumVectors (); ++I)
2260
- Result.addVector (Builder.CreateBinOp (Inst->getOpcode (), A.getVector (I),
2261
- B.getVector (I)));
2260
+ for (auto [AV, BV] : llvm::zip_equal (A.vectors (), B.vectors ()))
2261
+ Result.addVector (Builder.CreateBinOp (Inst->getOpcode (), AV, BV));
2262
2262
2263
2263
return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
2264
2264
Result.getNumVectors ());
@@ -2285,8 +2285,8 @@ class LowerMatrixIntrinsics {
2285
2285
}
2286
2286
};
2287
2287
2288
- for (unsigned I = 0 ; I < SI. getNumVectors (); ++I )
2289
- Result.addVector (BuildVectorOp (M. getVector (I) ));
2288
+ for (auto *Vector : M. vectors () )
2289
+ Result.addVector (BuildVectorOp (Vector ));
2290
2290
2291
2291
return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
2292
2292
Result.getNumVectors ());
@@ -2307,7 +2307,7 @@ class LowerMatrixIntrinsics {
2307
2307
auto *NewVTy = VectorType::get (OrigVTy->getElementType (),
2308
2308
ElementCount::getFixed (M.getStride ()));
2309
2309
2310
- for (auto & Vector : M.vectors ())
2310
+ for (auto * Vector : M.vectors ())
2311
2311
Result.addVector (Builder.CreateCast (Inst->getOpcode (), Vector, NewVTy));
2312
2312
2313
2313
return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
@@ -2336,9 +2336,8 @@ class LowerMatrixIntrinsics {
2336
2336
CondV[1 ] = Cond;
2337
2337
}
2338
2338
2339
- for (unsigned I = 0 , E = Shape.getNumVectors (); I != E; ++I)
2340
- Result.addVector (
2341
- Builder.CreateSelect (CondV[I], A.getVector (I), B.getVector (I)));
2339
+ for (auto [CV, AV, BV] : llvm::zip_equal (CondV, A.vectors (), B.vectors ()))
2340
+ Result.addVector (Builder.CreateSelect (CV, AV, BV));
2342
2341
2343
2342
return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
2344
2343
Result.getNumVectors ());
0 commit comments