When inlining basic blocks and instructions, give them a name!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1796 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/IPO/InlineSimple.cpp b/lib/Transforms/IPO/InlineSimple.cpp
index a71acd2..d4c23a9 100644
--- a/lib/Transforms/IPO/InlineSimple.cpp
+++ b/lib/Transforms/IPO/InlineSimple.cpp
@@ -82,6 +82,7 @@
// unconditional branch to NewBB, and NewBB starts with the call instruction.
//
BasicBlock *NewBB = OrigBB->splitBasicBlock(CIIt);
+ NewBB->setName("InlinedFunctionReturnNode");
// Remove (unlink) the CallInst from the start of the new basic block.
NewBB->getInstList().remove(CI);
@@ -131,6 +132,7 @@
// Create a new basic block to copy instructions into!
BasicBlock *IBB = new BasicBlock("", NewBB->getParent());
+ if (BB->hasName()) IBB->setName(BB->getName()+".i"); // .i = inlined once
ValueMap[BB] = IBB; // Add basic block mapping.
@@ -146,6 +148,8 @@
II != (BB->end()-1); ++II) {
IBB->getInstList().push_back((NewInst = (*II)->clone()));
ValueMap[*II] = NewInst; // Add instruction map to value.
+ if ((*II)->hasName())
+ NewInst->setName((*II)->getName()+".i"); // .i = inlined once
}
// Copy over the terminator now...