1919
2020#include " llvm/Transforms/Scalar/LowerMatrixIntrinsics.h"
2121#include " llvm/ADT/PostOrderIterator.h"
22+ #include " llvm/ADT/STLExtras.h"
2223#include " llvm/ADT/ScopeExit.h"
2324#include " llvm/ADT/SmallSet.h"
2425#include " llvm/ADT/SmallVector.h"
@@ -1223,7 +1224,7 @@ class LowerMatrixIntrinsics {
12231224 MatrixTy M = getMatrix (Inst->getOperand (0 ), SI, Builder);
12241225 Builder.setFastMathFlags (getFastMathFlags (Inst));
12251226
1226- for (auto & Vector : M.vectors ()) {
1227+ for (auto * Vector : M.vectors ()) {
12271228 switch (Inst->getIntrinsicID ()) {
12281229 case Intrinsic::abs:
12291230 Result.addVector (Builder.CreateBinaryIntrinsic (Intrinsic::abs, Vector,
@@ -2256,9 +2257,8 @@ class LowerMatrixIntrinsics {
22562257
22572258 Builder.setFastMathFlags (getFastMathFlags (Inst));
22582259
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));
22622262
22632263 return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
22642264 Result.getNumVectors ());
@@ -2285,8 +2285,8 @@ class LowerMatrixIntrinsics {
22852285 }
22862286 };
22872287
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 ));
22902290
22912291 return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
22922292 Result.getNumVectors ());
@@ -2307,7 +2307,7 @@ class LowerMatrixIntrinsics {
23072307 auto *NewVTy = VectorType::get (OrigVTy->getElementType (),
23082308 ElementCount::getFixed (M.getStride ()));
23092309
2310- for (auto & Vector : M.vectors ())
2310+ for (auto * Vector : M.vectors ())
23112311 Result.addVector (Builder.CreateCast (Inst->getOpcode (), Vector, NewVTy));
23122312
23132313 return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
@@ -2336,9 +2336,8 @@ class LowerMatrixIntrinsics {
23362336 CondV[1 ] = Cond;
23372337 }
23382338
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));
23422341
23432342 return Result.addNumComputeOps (getNumOps (Result.getVectorTy ()) *
23442343 Result.getNumVectors ());
0 commit comments