[llvm] 775af51 - [DebugInfo] Prefer setKillLocation rather than replacing operands with undef
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 6 02:12:41 PST 2023
Author: OCHyams
Date: 2023-01-06T10:11:14Z
New Revision: 775af51209bcce2527b38dea57275131f9551455
URL: https://github.com/llvm/llvm-project/commit/775af51209bcce2527b38dea57275131f9551455
DIFF: https://github.com/llvm/llvm-project/commit/775af51209bcce2527b38dea57275131f9551455.diff
LOG: [DebugInfo] Prefer setKillLocation rather than replacing operands with undef
NFC-ish. There is a functional change but the outputs are semantically
identical. Where we might've before replaced one operand with undef (which
means "this is a kill location marker") the use of `setKillLocation` will
replace all location operands with `undef` (which also means "this is a kill
location marker").
Related to https://discourse.llvm.org/t/auto-undef-debug-uses-of-a-deleted-value
Reviewed By: StephenTozer
Differential Revision: https://reviews.llvm.org/D140904
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 0b3799c28cba..a1c4bc8986c3 100644
--- a/llvm/lib/Transforms/Utils/Local.cpp
+++ b/llvm/lib/Transforms/Utils/Local.cpp
@@ -619,10 +619,8 @@ void llvm::RecursivelyDeleteTriviallyDeadInstructions(
bool llvm::replaceDbgUsesWithUndef(Instruction *I) {
SmallVector<DbgVariableIntrinsic *, 1> DbgUsers;
findDbgUsers(DbgUsers, I);
- for (auto *DII : DbgUsers) {
- Value *Undef = UndefValue::get(I->getType());
- DII->replaceVariableLocationOp(I, Undef);
- }
+ for (auto *DII : DbgUsers)
+ DII->setKillLocation();
return !DbgUsers.empty();
}
@@ -1914,8 +1912,7 @@ void llvm::salvageDebugInfoForDbgValues(
// using DIArgList for dbg.assign yet. FIXME: support this.
// Also do not salvage if the resulting DIArgList would contain an
// unreasonably large number of values.
- Value *Undef = UndefValue::get(I.getOperand(0)->getType());
- DII->replaceVariableLocationOp(I.getOperand(0), Undef);
+ DII->setKillLocation();
}
LLVM_DEBUG(dbgs() << "SALVAGE: " << *DII << '\n');
Salvaged = true;
@@ -1924,10 +1921,8 @@ void llvm::salvageDebugInfoForDbgValues(
if (Salvaged)
return;
- for (auto *DII : DbgUsers) {
- Value *Undef = UndefValue::get(I.getType());
- DII->replaceVariableLocationOp(&I, Undef);
- }
+ for (auto *DII : DbgUsers)
+ DII->setKillLocation();
}
Value *getSalvageOpsForGEP(GetElementPtrInst *GEP, const DataLayout &DL,
More information about the llvm-commits
mailing list