]> gcc.gnu.org Git - gcc.git/commitdiff
m32c.h (CLASS_MAX_NREGS): Remove macro.
authorAnatoly Sokolov <aesok@post.ru>
Mon, 22 Aug 2011 20:26:26 +0000 (00:26 +0400)
committerAnatoly Sokolov <aesok@gcc.gnu.org>
Mon, 22 Aug 2011 20:26:26 +0000 (00:26 +0400)
* config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro.
* config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove.
* config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change
regclass argument type to reg_class_t. Change 'max' and 'v' vars
and return types to unsigned char. Use reg_class_contents instead
of class_contents.
(TARGET_CLASS_MAX_NREGS): Define.

From-SVN: r177971

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

index 09aa6711862314b7e6436643bd2e66cfe0e057d1..c8f66e0a24b51901401bf62e3cb45a234a7d8504 100644 (file)
@@ -1,3 +1,13 @@
+2011-08-22  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro.
+       * config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove.
+       * config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change
+       regclass argument type to reg_class_t. Change 'max' and 'v' vars
+       and return types to unsigned char. Use reg_class_contents instead
+       of class_contents.
+       (TARGET_CLASS_MAX_NREGS): Define.
+
 2011-08-22  Bernd Schmidt  <bernds@codesourcery.com>
 
        * config/c6x/c6x.md (indirect_jump_shadow): Tweak representation
index eb242e0018f846cb56507ab775fbd5b9d763a551..9c247dcfd5bfd6f0022bd62f6f3675c050a2043c 100644 (file)
@@ -44,7 +44,6 @@ int  m32c_trampoline_size (void);
 #ifdef RTX_CODE
 
 int  m32c_cannot_change_mode_class (enum machine_mode, enum machine_mode, int);
-int  m32c_class_max_nregs (int, enum machine_mode);
 rtx  m32c_eh_return_stackadj_rtx (void);
 void m32c_emit_eh_epilogue (rtx);
 int  m32c_expand_cmpstr (rtx *);
index 39d8ede0dee5dc69796d1486d5f5001744a69c25..7040df69fcfc9b5b226e4f9a18c89f540654a5d6 100644 (file)
@@ -859,18 +859,23 @@ m32c_class_likely_spilled_p (reg_class_t regclass)
   return (reg_class_size[(int) regclass] == 1);
 }
 
-/* Implements CLASS_MAX_NREGS.  We calculate this according to its
+/* Implements TARGET_CLASS_MAX_NREGS.  We calculate this according to its
    documented meaning, to avoid potential inconsistencies with actual
    class definitions.  */
-int
-m32c_class_max_nregs (int regclass, enum machine_mode mode)
+
+#undef TARGET_CLASS_MAX_NREGS
+#define TARGET_CLASS_MAX_NREGS m32c_class_max_nregs
+
+static unsigned char
+m32c_class_max_nregs (reg_class_t regclass, enum machine_mode mode)
 {
-  int rn, max = 0;
+  int rn;
+  unsigned char max = 0;
 
   for (rn = 0; rn < FIRST_PSEUDO_REGISTER; rn++)
-    if (class_contents[regclass][0] & (1 << rn))
+    if (TEST_HARD_REG_BIT (reg_class_contents[(int) regclass], rn))
       {
-       int n = m32c_hard_regno_nregs (rn, mode);
+       unsigned char n = m32c_hard_regno_nregs (rn, mode);
        if (max < n)
          max = n;
       }
index 8239aa0a3ff89821b541ee55a3ff9ec5589c0fea..00f8a2c52a1c29e8a4c22d939aee7f83d7cafa5e 100644 (file)
@@ -425,8 +425,6 @@ enum reg_class
 
 #define TARGET_SMALL_REGISTER_CLASSES_FOR_MODE_P hook_bool_mode_true
 
-#define CLASS_MAX_NREGS(C,M) m32c_class_max_nregs (C, M)
-
 #define CANNOT_CHANGE_MODE_CLASS(F,T,C) m32c_cannot_change_mode_class(F,T,C)
 
 #define CONST_OK_FOR_CONSTRAINT_P(VALUE,C,STR) \
This page took 0.121897 seconds and 5 git commands to generate.