OSDN Git Service

* mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Aug 2000 11:26:59 +0000 (11:26 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 7 Aug 2000 11:26:59 +0000 (11:26 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35550 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/mn10300/mn10300.h

index a25c60c..4427590 100644 (file)
@@ -1,3 +1,7 @@
+2000-08-07  Graham Stott  <grahams@cygnus.co.uk>
+
+       * mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
+
 2000-08-07  Alexandre Oliva  <aoliva@redhat.com>
 
        * sh.h (EXTRA_CONSTRAINT_Q): Adjust to GNU Coding Standards.
index 2e20ee1..78c5902 100644 (file)
@@ -379,9 +379,12 @@ 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 : 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)       \
+      : (CLASS)))
 
 #define PREFERRED_OUTPUT_RELOAD_CLASS(X,CLASS) \
   (X == stack_pointer_rtx && CLASS != SP_REGS \