]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
m32c.h (PREFERRED_RELOAD_CLASS, [...]): Remove macro.
authorAnatoly Sokolov <aesok@post.ru>
Tue, 16 Aug 2011 17:04:13 +0000 (21:04 +0400)
committerAnatoly Sokolov <aesok@gcc.gnu.org>
Tue, 16 Aug 2011 17:04:13 +0000 (21:04 +0400)
* config/m32c/m32c.h (PREFERRED_RELOAD_CLASS,
PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
* config/m32c/m32c-protos.h (m32c_preferred_reload_class,
m32c_preferred_output_reload_class): Remove.
* config/m32c/m32c.c (m32c_preferred_reload_class): Make static.
Change rclass argument and return types to reg_class_t. Use
reg_class_subset_p instead of class_sizes.
(m32c_preferred_output_reload_class): Make static. Change rclass
argument and return types to reg_class_t.
(TARGET_PREFERRED_RELOAD_CLASS,
TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.

From-SVN: r177790

gcc/ChangeLog
gcc/config/m32c/m32c-protos.h
gcc/config/m32c/m32c.c
gcc/config/m32c/m32c.h

index a38e9132b2d7deda351487923efd44873a4ea95d..59176fccb34cacc7e7dd6b6f9993ff9fb4f5e446 100644 (file)
@@ -1,3 +1,17 @@
+2011-08-16  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/m32c/m32c.h (PREFERRED_RELOAD_CLASS,
+       PREFERRED_OUTPUT_RELOAD_CLASS): Remove macro.
+       * config/m32c/m32c-protos.h (m32c_preferred_reload_class,
+       m32c_preferred_output_reload_class): Remove.
+       * config/m32c/m32c.c (m32c_preferred_reload_class): Make static.
+       Change rclass argument and return types to reg_class_t. Use
+       reg_class_subset_p instead of class_sizes.
+       (m32c_preferred_output_reload_class): Make static. Change rclass
+       argument and return types to reg_class_t.
+       (TARGET_PREFERRED_RELOAD_CLASS,
+       TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Define.
+
 2011-08-16  Kai Tietz  <ktietz@redhat.com>
 
        * config/i386/mingw32.h (GOMP_SELF_SPEC): Add -pthread option.
index e858e150a06afc36b9f8bed2173e4ee2da65de92..eb242e0018f846cb56507ab775fbd5b9d763a551 100644 (file)
@@ -66,8 +66,6 @@ int  m32c_limit_reload_class (enum machine_mode, int);
 int  m32c_modes_tieable_p (enum machine_mode, enum machine_mode);
 bool m32c_mov_ok (rtx *, enum machine_mode);
 char * m32c_output_compare (rtx, rtx *);
-int  m32c_preferred_output_reload_class (rtx, int);
-int  m32c_preferred_reload_class (rtx, int);
 int  m32c_prepare_move (rtx *, enum machine_mode);
 int  m32c_prepare_shift (rtx *, int, int);
 int  m32c_reg_ok_for_base_p (rtx, int);
index 4aeeb3d9ebb601ddcdfda6705b5292c77368f344..a967e217135d3f802e2369f9b599389219da68a4 100644 (file)
@@ -729,12 +729,16 @@ m32c_regno_ok_for_base_p (int regno)
 
 #define DEBUG_RELOAD 0
 
-/* Implements PREFERRED_RELOAD_CLASS.  In general, prefer general
+/* Implements TARGET_PREFERRED_RELOAD_CLASS.  In general, prefer general
    registers of the appropriate size.  */
-int
-m32c_preferred_reload_class (rtx x, int rclass)
+
+#undef TARGET_PREFERRED_RELOAD_CLASS
+#define TARGET_PREFERRED_RELOAD_CLASS m32c_preferred_reload_class
+
+static reg_class_t
+m32c_preferred_reload_class (rtx x, reg_class_t rclass)
 {
-  int newclass = rclass;
+  reg_class_t newclass = rclass;
 
 #if DEBUG_RELOAD
   fprintf (stderr, "\npreferred_reload_class for %s is ",
@@ -759,7 +763,7 @@ m32c_preferred_reload_class (rtx x, int rclass)
   else if (newclass == QI_REGS && GET_MODE_SIZE (GET_MODE (x)) > 2)
     newclass = SI_REGS;
   else if (GET_MODE_SIZE (GET_MODE (x)) > 4
-          && ~class_contents[rclass][0] & 0x000f)
+          && ! reg_class_subset_p (R03_REGS, rclass))
     newclass = DI_REGS;
 
   rclass = reduce_class (rclass, newclass, rclass);
@@ -779,9 +783,13 @@ m32c_preferred_reload_class (rtx x, int rclass)
   return rclass;
 }
 
-/* Implements PREFERRED_OUTPUT_RELOAD_CLASS.  */
-int
-m32c_preferred_output_reload_class (rtx x, int rclass)
+/* Implements TARGET_PREFERRED_OUTPUT_RELOAD_CLASS.  */
+
+#undef TARGET_PREFERRED_OUTPUT_RELOAD_CLASS
+#define TARGET_PREFERRED_OUTPUT_RELOAD_CLASS m32c_preferred_output_reload_class
+
+static reg_class_t
+m32c_preferred_output_reload_class (rtx x, reg_class_t rclass)
 {
   return m32c_preferred_reload_class (x, rclass);
 }
index e7b388b6f0092720a9880f508ddd970183fdf9a6..8239aa0a3ff89821b541ee55a3ff9ec5589c0fea 100644 (file)
@@ -417,8 +417,6 @@ enum reg_class
 #define REGNO_OK_FOR_BASE_P(NUM) m32c_regno_ok_for_base_p (NUM)
 #define REGNO_OK_FOR_INDEX_P(NUM) 0
 
-#define PREFERRED_RELOAD_CLASS(X,CLASS) m32c_preferred_reload_class (X, CLASS)
-#define PREFERRED_OUTPUT_RELOAD_CLASS(X,CLASS) m32c_preferred_output_reload_class (X, CLASS)
 #define LIMIT_RELOAD_CLASS(MODE,CLASS) \
   (enum reg_class) m32c_limit_reload_class (MODE, CLASS)