diff options
author | Philip Blundell <philb@gnu.org> | 2002-02-20 21:39:56 +0000 |
---|---|---|
committer | Phil Blundell <pb@gcc.gnu.org> | 2002-02-20 21:39:56 +0000 |
commit | 9338ffe610bc23fd9d31bd22a83cb5fdadd05d0a (patch) | |
tree | 21a465f0eb88f4b89bc008cb68ced0cce4b4f0d7 /gcc | |
parent | 04fc13943f17cca7158731e464da904577ff6163 (diff) | |
download | gcc-9338ffe610bc23fd9d31bd22a83cb5fdadd05d0a.zip gcc-9338ffe610bc23fd9d31bd22a83cb5fdadd05d0a.tar.gz gcc-9338ffe610bc23fd9d31bd22a83cb5fdadd05d0a.tar.bz2 |
re PR target/5705 (code generated for ARM interrupt("IRQ") attribute)
2002-02-20 Philip Blundell <philb@gnu.org>
PR 5705
* config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro.
From-SVN: r49911
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/arm/arm.h | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 879ebbd..8f4d599 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-02-20 Philip Blundell <philb@gnu.org> + + PR 5705 + * config/arm/arm.h (HARD_REGNO_RENAME_OK): New macro. + 2002-02-20 Richard Henderson <rth@redhat.com> PR c/5615 diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h index c68c867..bf989f4 100644 --- a/gcc/config/arm/arm.h +++ b/gcc/config/arm/arm.h @@ -1027,6 +1027,13 @@ extern const char * structure_size_string; 16, 17, 18, 19, 20, 21, 22, 23, \ 24, 25, 26 \ } + +/* Interrupt functions can only use registers that have already been + saved by the prologue, even if they would normally be + call-clobbered. */ +#define HARD_REGNO_RENAME_OK(SRC, DST) \ + (! IS_INTERRUPT (cfun->machine->func_type) || \ + regs_ever_live[DST]) /* Register and constant classes. */ |