Skip to content

Commit e833bb0

Browse files
committed
[Local] Do not pass Root to replaceDominatedUsesWith (NFC)
Capture it in the lambdas instead.
1 parent ed5bd23 commit e833bb0

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

llvm/lib/Transforms/Utils/Local.cpp

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -3183,9 +3183,8 @@ void llvm::patchReplacementInstruction(Instruction *I, Value *Repl) {
31833183
combineMetadataForCSE(ReplInst, I, false);
31843184
}
31853185

3186-
template <typename RootType, typename ShouldReplaceFn>
3186+
template <typename ShouldReplaceFn>
31873187
static unsigned replaceDominatedUsesWith(Value *From, Value *To,
3188-
const RootType &Root,
31893188
const ShouldReplaceFn &ShouldReplace) {
31903189
assert(From->getType() == To->getType());
31913190

@@ -3194,7 +3193,7 @@ static unsigned replaceDominatedUsesWith(Value *From, Value *To,
31943193
auto *II = dyn_cast<IntrinsicInst>(U.getUser());
31953194
if (II && II->getIntrinsicID() == Intrinsic::fake_use)
31963195
continue;
3197-
if (!ShouldReplace(Root, U))
3196+
if (!ShouldReplace(U))
31983197
continue;
31993198
LLVM_DEBUG(dbgs() << "Replace dominated use of '";
32003199
From->printAsOperand(dbgs());
@@ -3223,39 +3222,33 @@ unsigned llvm::replaceNonLocalUsesWith(Instruction *From, Value *To) {
32233222
unsigned llvm::replaceDominatedUsesWith(Value *From, Value *To,
32243223
DominatorTree &DT,
32253224
const BasicBlockEdge &Root) {
3226-
auto Dominates = [&DT](const BasicBlockEdge &Root, const Use &U) {
3227-
return DT.dominates(Root, U);
3228-
};
3229-
return ::replaceDominatedUsesWith(From, To, Root, Dominates);
3225+
auto Dominates = [&](const Use &U) { return DT.dominates(Root, U); };
3226+
return ::replaceDominatedUsesWith(From, To, Dominates);
32303227
}
32313228

32323229
unsigned llvm::replaceDominatedUsesWith(Value *From, Value *To,
32333230
DominatorTree &DT,
32343231
const BasicBlock *BB) {
3235-
auto Dominates = [&DT](const BasicBlock *BB, const Use &U) {
3236-
return DT.dominates(BB, U);
3237-
};
3238-
return ::replaceDominatedUsesWith(From, To, BB, Dominates);
3232+
auto Dominates = [&](const Use &U) { return DT.dominates(BB, U); };
3233+
return ::replaceDominatedUsesWith(From, To, Dominates);
32393234
}
32403235

32413236
unsigned llvm::replaceDominatedUsesWithIf(
32423237
Value *From, Value *To, DominatorTree &DT, const BasicBlockEdge &Root,
32433238
function_ref<bool(const Use &U, const Value *To)> ShouldReplace) {
3244-
auto DominatesAndShouldReplace =
3245-
[&DT, &ShouldReplace, To](const BasicBlockEdge &Root, const Use &U) {
3246-
return DT.dominates(Root, U) && ShouldReplace(U, To);
3247-
};
3248-
return ::replaceDominatedUsesWith(From, To, Root, DominatesAndShouldReplace);
3239+
auto DominatesAndShouldReplace = [&](const Use &U) {
3240+
return DT.dominates(Root, U) && ShouldReplace(U, To);
3241+
};
3242+
return ::replaceDominatedUsesWith(From, To, DominatesAndShouldReplace);
32493243
}
32503244

32513245
unsigned llvm::replaceDominatedUsesWithIf(
32523246
Value *From, Value *To, DominatorTree &DT, const BasicBlock *BB,
32533247
function_ref<bool(const Use &U, const Value *To)> ShouldReplace) {
3254-
auto DominatesAndShouldReplace = [&DT, &ShouldReplace,
3255-
To](const BasicBlock *BB, const Use &U) {
3248+
auto DominatesAndShouldReplace = [&](const Use &U) {
32563249
return DT.dominates(BB, U) && ShouldReplace(U, To);
32573250
};
3258-
return ::replaceDominatedUsesWith(From, To, BB, DominatesAndShouldReplace);
3251+
return ::replaceDominatedUsesWith(From, To, DominatesAndShouldReplace);
32593252
}
32603253

32613254
bool llvm::callsGCLeafFunction(const CallBase *Call,

0 commit comments

Comments
 (0)