diff options
| author | Devang Patel <dpatel@apple.com> | 2008-03-10 18:11:41 +0000 | 
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2008-03-10 18:11:41 +0000 | 
| commit | c0325b2040405629e8f181caa3377bae252572aa (patch) | |
| tree | 7264cf81b2a57e4a66997a10afa0554472915480 /llvm/lib/Transforms/Utils | |
| parent | 94961bd37c49a9a0e29f68a09b6ef17ce7a73ed2 (diff) | |
| download | bcm5719-llvm-c0325b2040405629e8f181caa3377bae252572aa.tar.gz bcm5719-llvm-c0325b2040405629e8f181caa3377bae252572aa.zip  | |
simplify
llvm-svn: 48160
Diffstat (limited to 'llvm/lib/Transforms/Utils')
| -rw-r--r-- | llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp index 7639d3f967f..9f129a85be6 100644 --- a/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp +++ b/llvm/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp @@ -21,6 +21,7 @@  #include "llvm/Instructions.h"  #include "llvm/Type.h"  #include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/StringExtras.h"  using namespace llvm;  char UnifyFunctionExitNodes::ID = 0; @@ -116,9 +117,10 @@ bool UnifyFunctionExitNodes::runOnFunction(Function &F) {    if (NumRetVals == 0)      new ReturnInst(NULL, NewRetBlock);    else if (const StructType *STy = dyn_cast<StructType>(F.getReturnType())) { +    Instruction *InsertPt = NewRetBlock->getFirstNonPHI();      for (unsigned i = 0; i < NumRetVals; ++i) { -      PHINode *PN = new PHINode(STy->getElementType(i), "UnifiedRetVal"); -      NewRetBlock->getInstList().push_back(PN); +      PHINode *PN = new PHINode(STy->getElementType(i), "UnifiedRetVal."  +                                + utostr(i), InsertPt);        Phis.push_back(PN);      }      new ReturnInst(&Phis[0], NumRetVals);  | 

