
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
7 lines
412 B
LLVM
7 lines
412 B
LLVM
; RUN: llc -mtriple=aarch64-none-linux -O0 -fast-isel -filetype=obj - < %S/../Inputs/line.ll | llvm-dwarfdump -v - | FileCheck %s
|
|
; RUN: llc -mtriple=aarch64_be-none-linux -O0 -fast-isel -filetype=obj - < %S/../Inputs/line.ll | llvm-dwarfdump -v - | FileCheck %s
|
|
|
|
; check line table length is correctly calculated for both big and little endian
|
|
CHECK-LABEL: .debug_line contents:
|
|
CHECK: total_length: 0x00000043
|