diff options
Diffstat (limited to 'lib/Transforms/Instrumentation')
-rw-r--r-- | lib/Transforms/Instrumentation/ProfilingUtils.cpp | 4 | ||||
-rw-r--r-- | lib/Transforms/Instrumentation/RSProfiling.cpp | 11 |
2 files changed, 6 insertions, 9 deletions
diff --git a/lib/Transforms/Instrumentation/ProfilingUtils.cpp b/lib/Transforms/Instrumentation/ProfilingUtils.cpp index d94522f6c7..48071f1156 100644 --- a/lib/Transforms/Instrumentation/ProfilingUtils.cpp +++ b/lib/Transforms/Instrumentation/ProfilingUtils.cpp @@ -100,8 +100,8 @@ void llvm::InsertProfilingInitCall(Function *MainFn, const char *FnName, void llvm::IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum, GlobalValue *CounterArray) { // Insert the increment after any alloca or PHI instructions... - BasicBlock::iterator InsertPos = BB->begin(); - while (isa<AllocaInst>(InsertPos) || isa<PHINode>(InsertPos)) + BasicBlock::iterator InsertPos = BB->getFirstNonPHI(); + while (isa<AllocaInst>(InsertPos)) ++InsertPos; // Create the getelementptr constant expression diff --git a/lib/Transforms/Instrumentation/RSProfiling.cpp b/lib/Transforms/Instrumentation/RSProfiling.cpp index a9406c89d4..5bd62c8197 100644 --- a/lib/Transforms/Instrumentation/RSProfiling.cpp +++ b/lib/Transforms/Instrumentation/RSProfiling.cpp @@ -265,14 +265,11 @@ void GlobalRandomCounterOpt::PrepFunction(Function* F) { new StoreInst(l, Counter, bib); BasicBlock* bb = cast<InvokeInst>(bib)->getNormalDest(); - BasicBlock::iterator i = bb->begin(); - while (isa<PHINode>(i)) - ++i; + BasicBlock::iterator i = bb->getFirstNonPHI(); l = new LoadInst(Counter, "counter", i); bb = cast<InvokeInst>(bib)->getUnwindDest(); - i = bb->begin(); - while (isa<PHINode>(i)) ++i; + i = bb->getFirstNonPHI(); l = new LoadInst(Counter, "counter", i); new StoreInst(l, AI, i); } else if (isa<UnwindInst>(&*bib) || isa<ReturnInst>(&*bib)) { @@ -343,8 +340,8 @@ bool RSProfilers_std::isProfiling(Value* v) { void RSProfilers_std::IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum, GlobalValue *CounterArray) { // Insert the increment after any alloca or PHI instructions... - BasicBlock::iterator InsertPos = BB->begin(); - while (isa<AllocaInst>(InsertPos) || isa<PHINode>(InsertPos)) + BasicBlock::iterator InsertPos = BB->getFirstNonPHI(); + while (isa<AllocaInst>(InsertPos)) ++InsertPos; // Create the getelementptr constant expression |