aarch64: Improve epilogue unwind info

Programming / Compilers / GCC - rth [138bc75d-0d04-0410-961f-82ee72b054a4] - 3 September 2014 12:00 UTC

- config/aarch64/aarch64.c (aarch64_popwb_single_reg): Remove. (aarch64_popwb_pair_reg): Remove. (aarch64_set_frame_expr): Remove. (aarch64_restore_callee_saves): Add CFI_OPS argument; fill it with the restore ops performed by the insns generated. (aarch64_expand_epilogue): Attach CFI_OPS to the stack deallocation insn. Perform the calls_eh_return addition later; do not attempt to preserve the CFA in that case. Don't use aarch64_set_frame_expr. (aarch64_expand_prologue): Use REG_CFA_ADJUST_CFA directly, or no special markup at all. Load cfun->machine->frame.hard_fp_offset into a local variable. (aarch64_frame_pointer_required): Don't check calls_alloca.

ea3264e aarch64: Improve epilogue unwind info
gcc/ChangeLog | 15 +++
gcc/config/aarch64/aarch64.c | 260 +++++++++++++-----------------------------
2 files changed, 93 insertions(+), 182 deletions(-)

Upstream: gcc.gnu.org


  • Share