diff options
author | Ariel Burton <Ariel.Burton@ibm.com> | 2022-12-09 20:04:27 +0000 |
---|---|---|
committer | Kai Nacke <kai.peter.nacke@ibm.com> | 2022-12-09 20:17:37 +0000 |
commit | 6b2829dd877292c78158e37901f9e4ca52249c24 (patch) | |
tree | 9340230a5189aea8dd09d734f95424d8f1e1b147 /llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp | |
parent | 413995938d521032ba30c62dee738a2db7d1f1e8 (diff) | |
download | llvm-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.cpp | 1 |
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(); } |