diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopRerollPass.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LoopRerollPass.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp b/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp index 56d66b93dd69..9d22eceb987f 100644 --- a/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp +++ b/llvm/lib/Transforms/Scalar/LoopRerollPass.cpp @@ -1456,16 +1456,12 @@ void LoopReroll::DAGRootTracker::replace(const SCEV *BackedgeTakenCount) { } // Remove instructions associated with non-base iterations. - for (BasicBlock::reverse_iterator J = Header->rbegin(), JE = Header->rend(); - J != JE;) { - unsigned I = Uses[&*J].find_first(); + for (Instruction &Inst : llvm::make_early_inc_range(llvm::reverse(*Header))) { + unsigned I = Uses[&Inst].find_first(); if (I > 0 && I < IL_All) { - LLVM_DEBUG(dbgs() << "LRR: removing: " << *J << "\n"); - J++->eraseFromParent(); - continue; + LLVM_DEBUG(dbgs() << "LRR: removing: " << Inst << "\n"); + Inst.eraseFromParent(); } - - ++J; } // Rewrite each BaseInst using SCEV. |
