diff options
Diffstat (limited to 'llvm/lib/Transforms/IPO/ArgumentPromotion.cpp')
| -rw-r--r-- | llvm/lib/Transforms/IPO/ArgumentPromotion.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp index 3c57649f4e7..4c1b2c3f281 100644 --- a/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp +++ b/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp @@ -455,9 +455,7 @@ Function *ArgPromotion::DoPromotion(Function *F, if (!Call->use_empty()) { Call->replaceAllUsesWith(New); - std::string Name = Call->getName(); - Call->setName(""); - New->setName(Name); + New->takeName(Call); } // Finally, remove the old call from the program, reducing the use-count of @@ -479,7 +477,7 @@ Function *ArgPromotion::DoPromotion(Function *F, // If this is an unmodified argument, move the name and users over to the // new version. I->replaceAllUsesWith(I2); - I2->setName(I->getName()); + I2->takeName(I); AA.replaceWithNewValue(I, I2); ++I2; } else if (I->use_empty()) { |

