diff options
author | Richard Henderson <rth@cygnus.com> | 2000-10-24 22:45:46 +0000 |
---|---|---|
committer | Aldy Hernandez <aldyh@gcc.gnu.org> | 2000-10-24 22:45:46 +0000 |
commit | 5e2c51baa78757709c10038158b0195d106562e9 (patch) | |
tree | 4dad84921c04aa6dd8cf5ea029dbec728de8d8a7 /gcc | |
parent | c71e12010352a78de030b253bba4792d4d0fc005 (diff) | |
download | gcc-5e2c51baa78757709c10038158b0195d106562e9.zip gcc-5e2c51baa78757709c10038158b0195d106562e9.tar.gz gcc-5e2c51baa78757709c10038158b0195d106562e9.tar.bz2 |
treat pseudos just like memory
From-SVN: r37038
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/mn10300/mn10300.h | 15 |
2 files changed, 16 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 66148dc..30d515d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-10-24 Richard Henderson <rth@cygnus.com>, Aldy <aldyh@cygnus.com> + + * config/mn10300/mn10300.h (PREFERRED_RELOAD_CLASS): Treat + pseudos just like memory. + 2000-10-24 Alexandre Oliva <aoliva@redhat.com> * combine.c (distribute_notes): Discard REG_LIBCALL and REG_RETVAL @@ -8,6 +13,7 @@ * expr.c (do_store_flag): Don't crash if either side of a comparison is error_mark_node. +>>>>>>> 1.8059 2000-10-24 Jakub Jelinek <jakub@redhat.com> * sibcall.c (purge_mem_unchanging_flag): New function. diff --git a/gcc/config/mn10300/mn10300.h b/gcc/config/mn10300/mn10300.h index 53c51ca..2de94f4 100644 --- a/gcc/config/mn10300/mn10300.h +++ b/gcc/config/mn10300/mn10300.h @@ -381,11 +381,16 @@ enum reg_class { In general this is just CLASS; but on some machines in some cases it is preferable to use a more restrictive class. */ -#define PREFERRED_RELOAD_CLASS(X,CLASS) \ - ((X) == stack_pointer_rtx && (CLASS) != SP_REGS \ - ? ADDRESS_OR_EXTENDED_REGS \ - : (GET_CODE (X) == MEM \ - ? LIMIT_RELOAD_CLASS (GET_MODE (X), CLASS) \ +#define PREFERRED_RELOAD_CLASS(X,CLASS) \ + ((X) == stack_pointer_rtx && (CLASS) != SP_REGS \ + ? ADDRESS_OR_EXTENDED_REGS \ + : (GET_CODE (X) == MEM \ + || (GET_CODE (X) == REG \ + && REGNO (X) >= FIRST_PSEUDO_REGISTER) \ + || (GET_CODE (X) == SUBREG \ + && GET_CODE (SUBREG_REG (X)) == REG \ + && REGNO (SUBREG_REG (X)) >= FIRST_PSEUDO_REGISTER) \ + ? LIMIT_RELOAD_CLASS (GET_MODE (X), CLASS) \ : (CLASS))) #define PREFERRED_OUTPUT_RELOAD_CLASS(X,CLASS) \ |