arm.c (use_return_insn): Don't reject interrupt functions.
authorPhilip Blundell <philb@gnu.org>
Tue, 19 Feb 2002 18:08:10 +0000 (18:08 +0000)
committerPhil Blundell <pb@gcc.gnu.org>
Tue, 19 Feb 2002 18:08:10 +0000 (18:08 +0000)
commit3a7731fdc10c9dc90e9ffbf6b0bdb7e6e01500a0
tree34542f3e288b24b6a0ddc08064ddb3c4f319174d
parent14f583b8c3465efa654af1233e9c63365cd41cc9
arm.c (use_return_insn): Don't reject interrupt functions.

2002-02-19  Philip Blundell  <philb@gnu.org>

* config/arm/arm.c (use_return_insn): Don't reject interrupt
functions.
(arm_compute_save_reg_mask): Save LR for interrupt functions too.
(output_return_instruction): Allow interrupt functions to return with
ldmfd sp!, {... pc}^.  Use LDR to restore any single register.
(arm_expand_prologue): Subtract 4 before stacking LR in an
interrupt function.

From-SVN: r49872
gcc/ChangeLog
gcc/config/arm/arm.c