aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
diff options
context:
space:
mode:
authorAriel Burton <Ariel.Burton@ibm.com>2022-12-09 20:04:27 +0000
committerKai Nacke <kai.peter.nacke@ibm.com>2022-12-09 20:17:37 +0000
commit6b2829dd877292c78158e37901f9e4ca52249c24 (patch)
tree9340230a5189aea8dd09d734f95424d8f1e1b147 /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
parent413995938d521032ba30c62dee738a2db7d1f1e8 (diff)
downloadllvm-6b2829dd877292c78158e37901f9e4ca52249c24.zip
llvm-6b2829dd877292c78158e37901f9e4ca52249c24.tar.gz
llvm-6b2829dd877292c78158e37901f9e4ca52249c24.tar.bz2
Allow epilogue_begin to be emitted when generating DWARF
We identify epilogue code by looking for instructions tagged with FrameDestroy. A function may have more than one epilogue, e.g., because of early returns or code duplicated during optimization. We need only track the current block, and emit epilogie_begin at most once per block. We reduce the number of entries in the line table by combining epilogue_begin with other flags instead of emitting a separate entry just for epilogue_begin. Reviewed By: dblaikie, aprantl Differential Revision: https://reviews.llvm.org/D133376
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
index 1ad2362..2038952 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
@@ -417,6 +417,7 @@ void DebugHandlerBase::endFunction(const MachineFunction *MF) {
}
void DebugHandlerBase::beginBasicBlockSection(const MachineBasicBlock &MBB) {
+ EpilogBeginBlock = nullptr;
if (!MBB.isEntryBlock())
PrevLabel = MBB.getSymbol();
}