From 0d182d9d1e09dea0f78bcc3afa91946c6f97c23e Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Sun, 7 Nov 2021 17:03:15 -0800 Subject: [Transforms] Use make_early_inc_range (NFC) --- llvm/lib/Transforms/Utils/InlineFunction.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'llvm/lib/Transforms/Utils/InlineFunction.cpp') diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp index 01594a8..9dc303c 100644 --- a/llvm/lib/Transforms/Utils/InlineFunction.cpp +++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp @@ -1674,21 +1674,19 @@ inlineRetainOrClaimRVCalls(CallBase &CB, objcarc::ARCInstKind RVCallKind, for (auto *RI : Returns) { Value *RetOpnd = objcarc::GetRCIdentityRoot(RI->getOperand(0)); - BasicBlock::reverse_iterator I = ++(RI->getIterator().getReverse()); - BasicBlock::reverse_iterator EI = RI->getParent()->rend(); bool InsertRetainCall = IsRetainRV; IRBuilder<> Builder(RI->getContext()); // Walk backwards through the basic block looking for either a matching // autoreleaseRV call or an unannotated call. - for (; I != EI;) { - auto CurI = I++; - + auto InstRange = llvm::make_range(++(RI->getIterator().getReverse()), + RI->getParent()->rend()); + for (Instruction &I : llvm::make_early_inc_range(InstRange)) { // Ignore casts. - if (isa(*CurI)) + if (isa(I)) continue; - if (auto *II = dyn_cast(&*CurI)) { + if (auto *II = dyn_cast(&I)) { if (II->getIntrinsicID() != Intrinsic::objc_autoreleaseReturnValue || !II->hasNUses(0) || objcarc::GetRCIdentityRoot(II->getOperand(0)) != RetOpnd) @@ -1711,7 +1709,7 @@ inlineRetainOrClaimRVCalls(CallBase &CB, objcarc::ARCInstKind RVCallKind, break; } - auto *CI = dyn_cast(&*CurI); + auto *CI = dyn_cast(&I); if (!CI) break; -- cgit v1.1