From 4b6268e8976f1a17ed669c5c2722dfb90aa2d328 Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Fri, 28 Mar 2025 15:01:30 +0700 Subject: [PATCH] llvm-reduce: Use takeName instead of setName when cloning functions --- llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp | 4 +--- llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp b/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp index 5b1363d3293a6..5d9e9bae9c61e 100644 --- a/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp +++ b/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp @@ -107,15 +107,13 @@ static void extractArgumentsFromModule(Oracle &O, ReducerWorkItem &WorkItem) { auto *ClonedFunc = CloneFunction(F, VMap); // In order to preserve function order, we move Clone after old Function + ClonedFunc->takeName(F); ClonedFunc->removeFromParent(); Program.getFunctionList().insertAfter(F->getIterator(), ClonedFunc); replaceFunctionCalls(*F, *ClonedFunc, ArgIndexesToKeep); - // Rename Cloned Function to Old's name - std::string FName = std::string(F->getName()); F->replaceAllUsesWith(ClonedFunc); F->eraseFromParent(); - ClonedFunc->setName(FName); } } diff --git a/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp b/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp index 66d4bd3048171..32bceb74afa70 100644 --- a/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp +++ b/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp @@ -184,11 +184,9 @@ static void substituteOperandWithArgument(Function *OldF, // Replace all OldF uses with NewF. replaceFunctionCalls(OldF, NewF); - // Rename NewF to OldF's name. - std::string FName = OldF->getName().str(); + NewF->takeName(OldF); OldF->replaceAllUsesWith(NewF); OldF->eraseFromParent(); - NewF->setName(FName); } static void reduceOperandsToArgs(Oracle &O, ReducerWorkItem &WorkItem) {