[PATCH] D133986: [GlobalISel][DebugInfo] Salvage trivially dead instructions
Vladislav Dzhidzhoev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 16 17:55:53 PDT 2022
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG6cf11f446279: [GlobalISel][DebugInfo] Salvage trivially dead instructions (authored by dzhidzhoev).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D133986/new/
https://reviews.llvm.org/D133986
Files:
llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
llvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
Index: llvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
===================================================================
--- llvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
+++ llvm/test/CodeGen/AArch64/GlobalISel/select-dbg-value.mir
@@ -65,7 +65,8 @@
; CHECK-LABEL: name: test_dbg_value_dead
; CHECK: liveins: $w0
; CHECK-NEXT: {{ $}}
- ; CHECK-NEXT: DBG_VALUE %0:gpr32, $noreg, !7, !DIExpression(), debug-location !9
+ ; CHECK-NEXT: DBG_VALUE %1:gpr64, $noreg, !7, !DIExpression(), debug-location !9
%0:gpr(s32) = COPY $w0
- DBG_VALUE %0(s32), $noreg, !7, !DIExpression(), debug-location !9
+ %1:gpr(s64) = G_ZEXT %0:gpr(s32)
+ DBG_VALUE %1(s64), $noreg, !7, !DIExpression(), debug-location !9
...
Index: llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
===================================================================
--- llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
+++ llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
@@ -225,6 +225,7 @@
assert(isPreISelGenericOpcode(MI.getOpcode()) &&
"Expecting generic opcode");
if (isTriviallyDead(MI, MRI)) {
+ salvageDebugInfo(MRI, MI);
eraseInstr(MI, MRI, &LocObserver);
continue;
}
@@ -272,6 +273,7 @@
assert(isPreISelGenericOpcode(MI.getOpcode()) &&
"Expecting generic opcode");
if (isTriviallyDead(MI, MRI)) {
+ salvageDebugInfo(MRI, MI);
eraseInstr(MI, MRI, &LocObserver);
continue;
}
Index: llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
===================================================================
--- llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+++ llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
@@ -160,6 +160,7 @@
// If so, erase it.
if (isTriviallyDead(MI, MRI)) {
LLVM_DEBUG(dbgs() << "Is dead; erasing.\n");
+ salvageDebugInfo(MRI, MI);
MI.eraseFromParent();
continue;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D133986.460952.patch
Type: text/x-patch
Size: 1969 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220917/8f4e90a1/attachment.bin>
More information about the llvm-commits
mailing list