llvm-reduce: Use takeName instead of setName when cloning functions (#133393)

diff --git a/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp b/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
index bf9d6ba..b16f512 100644
--- a/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
+++ b/llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
@@ -168,15 +168,13 @@
 
     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 66d4bd3..32bceb7 100644
--- a/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
+++ b/llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
@@ -184,11 +184,9 @@
   // 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) {