avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
authorRichard Henderson <rth@redhat.com>
Tue, 22 Mar 2011 16:02:51 +0000 (09:02 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 22 Mar 2011 16:02:51 +0000 (09:02 -0700)
commitbdfe906f8c3dcce2fe349c97eb1b9d448b0f495e
tree9c7f6b4f3704dad73a8d15f619a912f15a14694d
parent5b13621b31fc3f51c50d30b50687ef8aac587be4
avr.c (TARGET_EXCEPT_UNWIND_INFO): New.

* config/avr/avr.c (TARGET_EXCEPT_UNWIND_INFO): New.
(avr_incoming_return_addr_rtx): New.
(emit_push_byte): New.
(expand_prologue): Use it.  Remove incorrect dwarf annotation for
SREG, RAMPZ, zero register.  Push frame pointer by bytes.  Add dwarf
annotation for __prologue_saves__.  Fixup dwarf annotation for CFA.
(emit_pop_byte): New.
(expand_epilogue): Use it.  Pop frame pointer by bytes.
* config/avr/avr.h (FRAME_POINTER_CFA_OFFSET): Remove.
(INCOMING_RETURN_ADDR_RTX): New.
(INCOMING_FRAME_SP_OFFSET): New.
(ARG_POINTER_CFA_OFFSET): New.
* config/avr/avr.md (*pushqi): Fix mode of auto-inc.
(*pushhi, *pushsi, *pushsf, popqi): Likewise.
(pophi): Remove.

From-SVN: r171295
gcc/ChangeLog
gcc/config/avr/avr-protos.h
gcc/config/avr/avr.c
gcc/config/avr/avr.h
gcc/config/avr/avr.md