diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/reload1.c | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5870287..9bd5f08 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Thu Nov 4 15:52:35 1999 Andrew Haley <aph@cygnus.com> + + * reload1.c (reload_reg_free_for_value_p): Don't use a register + that is in reload_reg_used. + Tue Nov 9 16:43:00 1999 Nick Clifton <nickc@cygnus.com> * config/arm/arm-protos.h: New file: Prototypes for functions diff --git a/gcc/reload1.c b/gcc/reload1.c index 3526ae9..09044c9 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -5307,6 +5307,13 @@ reload_reg_free_for_value_p (regno, opnum, type, value, out, reloadnum, int i; int copy = 0; + /* ??? reload_reg_used is abused to hold the registers that are not + available as spill registers, including hard registers that are + earlyclobbered in asms. As a temporary measure, reject anything + in reload_reg_used. */ + if (TEST_HARD_REG_BIT (reload_reg_used, regno)) + return 0; + if (out == const0_rtx) { copy = 1; |
