[llvm] e833bb0 - [Local] Do not pass Root to replaceDominatedUsesWith (NFC)
Nikita Popov via llvm-commits
llvm-commits at lists.llvm.org
Mon Aug 4 05:22:25 PDT 2025
Author: Nikita Popov
Date: 2025-08-04T14:22:17+02:00
New Revision: e833bb0991dd20655dae1c3812bd84f0fb36ea25
URL: https://github.com/llvm/llvm-project/commit/e833bb0991dd20655dae1c3812bd84f0fb36ea25
DIFF: https://github.com/llvm/llvm-project/commit/e833bb0991dd20655dae1c3812bd84f0fb36ea25.diff
LOG: [Local] Do not pass Root to replaceDominatedUsesWith (NFC)
Capture it in the lambdas instead.
Added:
Modified:
llvm/lib/Transforms/Utils/Local.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp
index 3852f1aa40ac5..2619e73f7fc8a 100644
--- a/llvm/lib/Transforms/Utils/Local.cpp
+++ b/llvm/lib/Transforms/Utils/Local.cpp
@@ -3183,9 +3183,8 @@ void llvm::patchReplacementInstruction(Instruction *I, Value *Repl) {
combineMetadataForCSE(ReplInst, I, false);
}
-template <typename RootType, typename ShouldReplaceFn>
+template <typename ShouldReplaceFn>
static unsigned replaceDominatedUsesWith(Value *From, Value *To,
- const RootType &Root,
const ShouldReplaceFn &ShouldReplace) {
assert(From->getType() == To->getType());
@@ -3194,7 +3193,7 @@ static unsigned replaceDominatedUsesWith(Value *From, Value *To,
auto *II = dyn_cast<IntrinsicInst>(U.getUser());
if (II && II->getIntrinsicID() == Intrinsic::fake_use)
continue;
- if (!ShouldReplace(Root, U))
+ if (!ShouldReplace(U))
continue;
LLVM_DEBUG(dbgs() << "Replace dominated use of '";
From->printAsOperand(dbgs());
@@ -3223,39 +3222,33 @@ unsigned llvm::replaceNonLocalUsesWith(Instruction *From, Value *To) {
unsigned llvm::replaceDominatedUsesWith(Value *From, Value *To,
DominatorTree &DT,
const BasicBlockEdge &Root) {
- auto Dominates = [&DT](const BasicBlockEdge &Root, const Use &U) {
- return DT.dominates(Root, U);
- };
- return ::replaceDominatedUsesWith(From, To, Root, Dominates);
+ auto Dominates = [&](const Use &U) { return DT.dominates(Root, U); };
+ return ::replaceDominatedUsesWith(From, To, Dominates);
}
unsigned llvm::replaceDominatedUsesWith(Value *From, Value *To,
DominatorTree &DT,
const BasicBlock *BB) {
- auto Dominates = [&DT](const BasicBlock *BB, const Use &U) {
- return DT.dominates(BB, U);
- };
- return ::replaceDominatedUsesWith(From, To, BB, Dominates);
+ auto Dominates = [&](const Use &U) { return DT.dominates(BB, U); };
+ return ::replaceDominatedUsesWith(From, To, Dominates);
}
unsigned llvm::replaceDominatedUsesWithIf(
Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Root,
function_ref<bool(const Use &U, const Value *To)> ShouldReplace) {
- auto DominatesAndShouldReplace =
- [&DT, &ShouldReplace, To](const BasicBlockEdge &Root, const Use &U) {
- return DT.dominates(Root, U) && ShouldReplace(U, To);
- };
- return ::replaceDominatedUsesWith(From, To, Root, DominatesAndShouldReplace);
+ auto DominatesAndShouldReplace = [&](const Use &U) {
+ return DT.dominates(Root, U) && ShouldReplace(U, To);
+ };
+ return ::replaceDominatedUsesWith(From, To, DominatesAndShouldReplace);
}
unsigned llvm::replaceDominatedUsesWithIf(
Value *From, Value *To, DominatorTree &DT, const BasicBlock *BB,
function_ref<bool(const Use &U, const Value *To)> ShouldReplace) {
- auto DominatesAndShouldReplace = [&DT, &ShouldReplace,
- To](const BasicBlock *BB, const Use &U) {
+ auto DominatesAndShouldReplace = [&](const Use &U) {
return DT.dominates(BB, U) && ShouldReplace(U, To);
};
- return ::replaceDominatedUsesWith(From, To, BB, DominatesAndShouldReplace);
+ return ::replaceDominatedUsesWith(From, To, DominatesAndShouldReplace);
}
bool llvm::callsGCLeafFunction(const CallBase *Call,
More information about the llvm-commits
mailing list