Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2),

which is significantly more efficient.

llvm-svn: 49614
This commit is contained in:
Owen Anderson 2008-04-13 19:15:17 +00:00
parent 861a226586
commit 1f6fbc4bc3
6 changed files with 7 additions and 7 deletions

View File

@ -930,7 +930,7 @@ static bool LinkFunctionBody(Function *Dest, Function *Src,
Function::arg_iterator DI = Dest->arg_begin();
for (Function::arg_iterator I = Src->arg_begin(), E = Src->arg_end();
I != E; ++I, ++DI) {
DI->setName(I->getName()); // Copy the name information over...
DI->takeName(I); // Copy the name information over...
// Add a mapping to our local map
ValueMap[I] = DI;

View File

@ -226,7 +226,7 @@ bool LoopRotate::rotateLoop(Loop *Lp, LPPassManager &LPM) {
// If this instruction is using a value from same basic block then
// update it to use value from cloned instruction.
Instruction *C = In->clone();
C->setName(In->getName());
C->takeName(In);
OrigPreHeader->getInstList().push_back(C);
for (unsigned opi = 0, e = In->getNumOperands(); opi != e; ++opi) {

View File

@ -179,8 +179,8 @@ BasicBlock *LoopUnroll::FoldBlockIntoPredecessor(BasicBlock *BB) {
BB->eraseFromParent();
// Inherit predecessor's name if it exists...
if (!OldName.empty() && !OnlyPred->hasName())
OnlyPred->setName(OldName);
if (BB->hasName() && !OnlyPred->hasName())
OnlyPred->takeName(BB);
return OnlyPred;
}

View File

@ -317,7 +317,7 @@ void TailDup::eliminateUnconditionalBranch(BranchInst *Branch) {
//
for (; BI != DestBlock->end(); ++BI) {
Instruction *New = BI->clone();
New->setName(BI->getName());
New->takeName(BI);
SourceBlock->getInstList().push_back(New);
ValueMapping[BI] = New;
}

View File

@ -317,7 +317,7 @@ Function *CodeExtractor::constructFunction(const Values &inputs,
if (!AggregateArgs) {
AI = newFunction->arg_begin();
for (unsigned i = 0, e = inputs.size(); i != e; ++i, ++AI)
AI->setName(inputs[i]->getName());
AI->takeName(inputs[i]);
for (unsigned i = 0, e = outputs.size(); i != e; ++i, ++AI)
AI->setName(outputs[i]->getName()+".out");
}

View File

@ -657,7 +657,7 @@ static void CleanupAndPrepareModules(BugDriver &BD, Module *&Test,
for (Function::arg_iterator
I = newMain->arg_begin(), E = newMain->arg_end(),
OI = oldMain->arg_begin(); I != E; ++I, ++OI) {
I->setName(OI->getName()); // Copy argument names from oldMain
I->takeName(OI); // Copy argument names from oldMain
args.push_back(I);
}