diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp b/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp index ead8082f3036..1c186e9a0488 100644 --- a/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp +++ b/llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp @@ -357,11 +357,10 @@ static bool lowerExpectIntrinsic(Function &F) { // Remove llvm.expect intrinsics. Iterate backwards in order // to process select instructions before the intrinsic gets // removed. - for (auto BI = BB.rbegin(), BE = BB.rend(); BI != BE;) { - Instruction *Inst = &*BI++; - CallInst *CI = dyn_cast<CallInst>(Inst); + for (Instruction &Inst : llvm::make_early_inc_range(llvm::reverse(BB))) { + CallInst *CI = dyn_cast<CallInst>(&Inst); if (!CI) { - if (SelectInst *SI = dyn_cast<SelectInst>(Inst)) { + if (SelectInst *SI = dyn_cast<SelectInst>(&Inst)) { if (handleBrSelExpect(*SI)) ExpectIntrinsicsHandled++; } |
