[ARC] Reimplement exception handling support.
authorClaudiu Zissulescu <claziss@synopsys.com>
Tue, 21 Nov 2017 11:37:30 +0000 (12:37 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Tue, 21 Nov 2017 11:37:30 +0000 (12:37 +0100)
commit6fe5e235f962f8ac1ab95446de1f18f1c05524b2
treeb95052e117fe6df76088e12de01efe91e98fc08b
parent24d39222e8e58c7a248a6bae25b30c4471525349
[ARC] Reimplement exception handling support.

2016-06-09  Claudiu Zissulescu  <claziss@synopsys.com>
    Andrew Burgess  <andrew.burgess@embecosm.com>

* config/arc/arc-protos.h (arc_compute_frame_size): Delete
declaration.
(arc_return_slot_offset): Likewise.
(arc_eh_return_address_location): New declaration.
* config/arc/arc.c (TARGET_BUILTIN_SETJMP_FRAME_VALUE): Define.
(MUST_SAVE_REGISTER): Add exception handler case.
(MUST_SAVE_RETURN_ADDR): Likewise.
(arc_frame_pointer_required): Likewise.
(arc_frame_pointer_needed): New function.
(arc_compute_frame_size): Changed.
(arc_expand_prologue): Likewise.
(arc_expand_epilogue): Likewise.
(arc_initial_elimination_offset): Likewise.
(arc_return_slot_offset): Delete.
(arc_eh_return_address_location): New function.
(arc_builtin_setjmp_frame_value): Likewise.
* config/arc/arc.h (EH_RETURN_DATA_REGNO): Use 2 registers.
(EH_RETURN_STACKADJ_RTX): Define.
(EH_RETURN_HANDLER_RTX): Likewise.
* config/arc/arc.md (eh_return): Delete.

Co-Authored-By: Andrew Burgess <andrew.burgess@embecosm.com>
From-SVN: r254997
gcc/ChangeLog
gcc/config/arc/arc-protos.h
gcc/config/arc/arc.c
gcc/config/arc/arc.h
gcc/config/arc/arc.md