From 7498f9092613b91f882ace99c41a9f42a5905a62 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Mon, 10 Mar 2008 18:11:41 +0000 Subject: simplify git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48160 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Utils/UnifyFunctionExitNodes.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/Transforms/Utils/UnifyFunctionExitNodes.cpp') diff --git a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp b/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp index 7639d3f967..9f129a85be 100644 --- a/lib/Transforms/Utils/UnifyFunctionExitNodes.cpp +++ b/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(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); -- cgit v1.2.3-18-g5258