summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Transforms/IPO/InlineSimple.cpp7
-rw-r--r--lib/Transforms/Utils/UnifyFunctionExitNodes.cpp10
2 files changed, 8 insertions, 9 deletions
diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp
index 924ad5c93a..54092ae91b 100644
--- a/lib/Transforms/IPO/InlineSimple.cpp
+++ b/lib/Transforms/IPO/InlineSimple.cpp
@@ -93,12 +93,11 @@ bool InlineFunction(CallInst *CI) {
//
PHINode *PHI = 0;
if (CalledFunc->getReturnType() != Type::VoidTy) {
- PHI = new PHINode(CalledFunc->getReturnType(), CI->getName());
-
// The PHI node should go at the front of the new basic block to merge all
// possible incoming values.
//
- NewBB->getInstList().push_front(PHI);
+ PHI = new PHINode(CalledFunc->getReturnType(), CI->getName(),
+ NewBB->begin());
// Anything that used the result of the function call should now use the PHI
// node as their operand.
@@ -164,7 +163,7 @@ bool InlineFunction(CallInst *CI) {
}
// Add a branch to the code that was after the original Call.
- IBB->getInstList().push_back(new BranchInst(NewBB));
+ new BranchInst(NewBB, IBB->end());
break;
}
case Instruction::Br:
diff --git a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
index 3c522b53ab..5c1e86b4a1 100644
--- a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
+++ b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
@@ -49,8 +49,8 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) {
if (F.getReturnType() != Type::VoidTy) {
// If the function doesn't return void... add a PHI node to the block...
- PHINode *PN = new PHINode(F.getReturnType(), "UnifiedRetVal");
- NewRetBlock->getInstList().push_back(PN);
+ PHINode *PN = new PHINode(F.getReturnType(), "UnifiedRetVal",
+ NewRetBlock.end());
// Add an incoming element to the PHI node for every return instruction that
// is merging into this new block...
@@ -59,10 +59,10 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) {
PN->addIncoming((*I)->getTerminator()->getOperand(0), *I);
// Add a return instruction to return the result of the PHI node...
- NewRetBlock->getInstList().push_back(new ReturnInst(PN));
+ new ReturnInst(PN, NewRetBlock.end());
} else {
// If it returns void, just add a return void instruction to the block
- NewRetBlock->getInstList().push_back(new ReturnInst());
+ new ReturnInst(0, NewRetBlock.end());
}
// Loop over all of the blocks, replacing the return instruction with an
@@ -71,7 +71,7 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) {
for (vector<BasicBlock*>::iterator I = ReturningBlocks.begin(),
E = ReturningBlocks.end(); I != E; ++I) {
(*I)->getInstList().pop_back(); // Remove the return insn
- (*I)->getInstList().push_back(new BranchInst(NewRetBlock));
+ new BranchInst(NewRetBlock, (*I)->end());
}
ExitNode = NewRetBlock;
return true;