mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-20 17:03:09 +00:00
Don't insert a PHI node to merge "returns" from an inlined function if there
is only a single return from the function! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3878 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
172b648cd4
commit
bdccb00970
@ -190,7 +190,18 @@ bool InlineFunction(CallInst *CI) {
|
||||
RemapInstruction(II, ValueMap);
|
||||
}
|
||||
|
||||
if (PHI) RemapInstruction(PHI, ValueMap); // Fix the PHI node also...
|
||||
if (PHI) {
|
||||
RemapInstruction(PHI, ValueMap); // Fix the PHI node also...
|
||||
|
||||
// Check to see if the PHI node only has one argument. This is a common
|
||||
// case resulting from there only being a single return instruction in the
|
||||
// function call. Because this is so common, eliminate the PHI node.
|
||||
//
|
||||
if (PHI->getNumIncomingValues() == 1) {
|
||||
PHI->replaceAllUsesWith(PHI->getIncomingValue(0));
|
||||
PHI->getParent()->getInstList().erase(PHI);
|
||||
}
|
||||
}
|
||||
|
||||
// Change the branch that used to go to NewBB to branch to the first basic
|
||||
// block of the inlined function.
|
||||
|
Loading…
x
Reference in New Issue
Block a user