From 5013c51dfcd73ee1bcfa8e9a8b85561cf7a6d237 Mon Sep 17 00:00:00 2001 From: "Duncan P. N. Exon Smith" Date: Sat, 7 Nov 2015 00:01:16 +0000 Subject: [PATCH 1/1] ADT: Remove last implicit ilist iterator conversions, NFC Some implicit ilist iterator conversions have crept back into Analysis, Transforms, Hexagon, and llvm-stress. This removes them. I'll commit a patch immediately after this to disallow them (in a separate patch so that it's easy to revert if necessary). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@252371 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Analysis/ScalarEvolutionExpander.cpp | 6 +++--- lib/Target/Hexagon/BitTracker.cpp | 2 +- lib/Transforms/IPO/FunctionAttrs.cpp | 2 +- lib/Transforms/Scalar/LoopLoadElimination.cpp | 2 +- lib/Transforms/Utils/SimplifyCFG.cpp | 9 +++++---- tools/llvm-stress/llvm-stress.cpp | 2 +- 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/lib/Analysis/ScalarEvolutionExpander.cpp b/lib/Analysis/ScalarEvolutionExpander.cpp index b3b04ad148f..d763ca4c132 100644 --- a/lib/Analysis/ScalarEvolutionExpander.cpp +++ b/lib/Analysis/ScalarEvolutionExpander.cpp @@ -101,11 +101,11 @@ static BasicBlock::iterator findInsertPointAfter(Instruction *I, if (isa(IP) || isa(IP)) { ++IP; } else if (auto *TPI = dyn_cast(IP)) { - IP = TPI->getUnwindDest()->getFirstNonPHI(); + IP = TPI->getUnwindDest()->getFirstNonPHI()->getIterator(); } else if (auto *CEPI = dyn_cast(IP)) { - IP = CEPI->getUnwindDest()->getFirstNonPHI(); + IP = CEPI->getUnwindDest()->getFirstNonPHI()->getIterator(); } else if (auto *CEPI = dyn_cast(IP)) { - IP = CEPI->getUnwindDest()->getFirstNonPHI(); + IP = CEPI->getUnwindDest()->getFirstNonPHI()->getIterator(); } else if (isa(IP)) { IP = MustDominate->getFirstInsertionPt(); } else { diff --git a/lib/Target/Hexagon/BitTracker.cpp b/lib/Target/Hexagon/BitTracker.cpp index 23336b6546e..ea96eb0ee10 100644 --- a/lib/Target/Hexagon/BitTracker.cpp +++ b/lib/Target/Hexagon/BitTracker.cpp @@ -1106,7 +1106,7 @@ void BT::run() { if (It == End) { MachineFunction::const_iterator BIt = B.getIterator(); MachineFunction::const_iterator Next = std::next(BIt); - if (Next != MF.end() && B.isSuccessor(Next)) { + if (Next != MF.end() && B.isSuccessor(&*Next)) { int ThisN = B.getNumber(); int NextN = Next->getNumber(); FlowQ.push(CFGEdge(ThisN, NextN)); diff --git a/lib/Transforms/IPO/FunctionAttrs.cpp b/lib/Transforms/IPO/FunctionAttrs.cpp index bc7c98e2890..a9bc8e4c6de 100644 --- a/lib/Transforms/IPO/FunctionAttrs.cpp +++ b/lib/Transforms/IPO/FunctionAttrs.cpp @@ -335,7 +335,7 @@ struct ArgumentUsesTracker : public CaptureTracker { return true; } - Uses.push_back(std::next(F->arg_begin(), UseIndex)); + Uses.push_back(&*std::next(F->arg_begin(), UseIndex)); return false; } diff --git a/lib/Transforms/Scalar/LoopLoadElimination.cpp b/lib/Transforms/Scalar/LoopLoadElimination.cpp index eb64fbff1d3..e0456a2110d 100644 --- a/lib/Transforms/Scalar/LoopLoadElimination.cpp +++ b/lib/Transforms/Scalar/LoopLoadElimination.cpp @@ -373,7 +373,7 @@ public: Value *Initial = new LoadInst(InitialPtr, "load_initial", PH->getTerminator()); PHINode *PHI = PHINode::Create(Initial->getType(), 2, "store_forwarded", - L->getHeader()->begin()); + &L->getHeader()->front()); PHI->addIncoming(Initial, PH); PHI->addIncoming(Cand.Store->getOperand(0), L->getLoopLatch()); diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp index 25b83e256a6..e0c598f92e2 100644 --- a/lib/Transforms/Utils/SimplifyCFG.cpp +++ b/lib/Transforms/Utils/SimplifyCFG.cpp @@ -2400,7 +2400,7 @@ static Value *ensureValueAvailableInSuccessor(Value *V, BasicBlock *BB, if (PHI) return PHI; - PHI = PHINode::Create(V->getType(), 2, "simplifycfg.merge", Succ->begin()); + PHI = PHINode::Create(V->getType(), 2, "simplifycfg.merge", &Succ->front()); PHI->addIncoming(V, BB); for (BasicBlock *PredBB : predecessors(Succ)) if (PredBB != BB) @@ -2500,8 +2500,8 @@ static bool mergeConditionalStoreToAddress(BasicBlock *PTB, BasicBlock *PFB, Value *QPHI = ensureValueAvailableInSuccessor(QStore->getValueOperand(), QStore->getParent(), PPHI); - IRBuilder<> QB(PostBB->getFirstInsertionPt()); - + IRBuilder<> QB(&*PostBB->getFirstInsertionPt()); + Value *PPred = PStore->getParent() == PTB ? PCond : QB.CreateNot(PCond); Value *QPred = QStore->getParent() == QTB ? QCond : QB.CreateNot(QCond); @@ -2511,7 +2511,8 @@ static bool mergeConditionalStoreToAddress(BasicBlock *PTB, BasicBlock *PFB, QPred = QB.CreateNot(QPred); Value *CombinedPred = QB.CreateOr(PPred, QPred); - auto *T = SplitBlockAndInsertIfThen(CombinedPred, QB.GetInsertPoint(), false); + auto *T = + SplitBlockAndInsertIfThen(CombinedPred, &*QB.GetInsertPoint(), false); QB.SetInsertPoint(T); StoreInst *SI = cast(QB.CreateStore(QPHI, Address)); AAMDNodes AAMD; diff --git a/tools/llvm-stress/llvm-stress.cpp b/tools/llvm-stress/llvm-stress.cpp index 6a1a248a057..86ac269bb0a 100644 --- a/tools/llvm-stress/llvm-stress.cpp +++ b/tools/llvm-stress/llvm-stress.cpp @@ -666,7 +666,7 @@ static void IntroduceControlFlow(Function *F, Random &R) { for (auto *Instr : BoolInst) { BasicBlock *Curr = Instr->getParent(); - BasicBlock::iterator Loc = Instr; + BasicBlock::iterator Loc = Instr->getIterator(); BasicBlock *Next = Curr->splitBasicBlock(Loc, "CF"); Instr->moveBefore(Curr->getTerminator()); if (Curr != &F->getEntryBlock()) { -- 2.34.1