mips.c (mips_epilogue): New structure.
commit3bd0817d1cc191f0d89d2fefa57bf108a53331f2
authorRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 12 Sep 2011 19:25:59 +0000 (12 19:25 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Mon, 12 Sep 2011 19:25:59 +0000 (12 19:25 +0000)
tree80766a87a89d7394a98e1bc442392e27b83edda5
parent42ae51f40ec3816094cc48b6e46623d1701f98d7
mips.c (mips_epilogue): New structure.

gcc/
2011-09-11  Bernd Schmidt  <bernds@codesourcery.com>
    Richard Sandiford  <rdsandiford@googlemail.com>

* config/mips/mips.c (mips_epilogue): New structure.
(mips16e_save_restore_reg): Queue REG_CFA_RESTORE notes when
restoring registers.
(mips_epilogue_emit_cfa_restores): New function.
(mips_epilogue_set_cfa): Likewise.
(mips_restore_reg): Queue REG_CFA_RESTORE notes.  When restoring
the current CFA register from the stack, redefine the CFA in terms
of the stack pointer.
(mips_expand_epilogue): Set up mips_epilogue.  Attach CFA information
to the epilogue instructions.

gcc/testsuite/
* gcc.target/mips/mips.exp (mips_option_groups): Add debug options.
* gcc.target/mips/interrupt_handler-2.c: New test.
* gcc.target/mips/interrupt_handler-3.c: Likewise.

From-SVN: r178794
gcc/ChangeLog
gcc/config/mips/mips.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/mips/interrupt_handler-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/interrupt_handler-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/mips/mips.exp