[llvm-commits] [llvm] r48160 - /llvm/trunk/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp

Devang Patel dpatel at apple.com
Mon Mar 10 11:11:41 PDT 2008


Author: dpatel
Date: Mon Mar 10 13:11:41 2008
New Revision: 48160

URL: http://llvm.org/viewvc/llvm-project?rev=48160&view=rev
Log:
simplify

Modified:
    llvm/trunk/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp

Modified: llvm/trunk/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp?rev=48160&r1=48159&r2=48160&view=diff

==============================================================================
--- llvm/trunk/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp Mon Mar 10 13:11:41 2008
@@ -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 @@
   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);





More information about the llvm-commits mailing list