OSDN Git Service

2000-08-10 Alexandre Petit-Bianco <apbianco@cygnus.com>
[pf3gnuchains/gcc-fork.git] / gcc / global.c
index 74d9fd2..8f308fc 100644 (file)
@@ -374,7 +374,7 @@ global_alloc (file)
      a leaf function.  */
   {
     char *cheap_regs;
-    static char leaf_regs[] = LEAF_REGISTERS;
+    char *leaf_regs = LEAF_REGISTERS;
 
     if (only_leaf_regs_used () && leaf_function_p ())
       cheap_regs = leaf_regs;
@@ -835,7 +835,7 @@ expand_preferences ()
      where this wins are reg-reg copies.  */
 
   for (insn = get_insns (); insn; insn = NEXT_INSN (insn))
-    if (GET_RTX_CLASS (GET_CODE (insn)) == 'i'
+    if (INSN_P (insn)
        && (set = single_set (insn)) != 0
        && GET_CODE (SET_DEST (set)) == REG
        && reg_allocno[REGNO (SET_DEST (set))] >= 0)
@@ -999,10 +999,10 @@ find_reg (num, losers, alt_regs_p, accept_call_clobbered, retrying)
 
   IOR_HARD_REG_SET (used1, allocno[num].hard_reg_conflicts);
 
-#ifdef CLASS_CANNOT_CHANGE_SIZE
-  if (REG_CHANGES_SIZE (allocno[num].reg))
+#ifdef CLASS_CANNOT_CHANGE_MODE
+  if (REG_CHANGES_MODE (allocno[num].reg))
     IOR_HARD_REG_SET (used1,
-                     reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE]);
+                     reg_class_contents[(int) CLASS_CANNOT_CHANGE_MODE]);
 #endif
 
   /* Try each hard reg to see if it fits.  Do this in two passes.
@@ -1189,10 +1189,10 @@ find_reg (num, losers, alt_regs_p, accept_call_clobbered, retrying)
              /* Don't use a reg no good for this pseudo.  */
              && ! TEST_HARD_REG_BIT (used2, regno)
              && HARD_REGNO_MODE_OK (regno, mode)
-#ifdef CLASS_CANNOT_CHANGE_SIZE
-             && ! (REG_CHANGES_SIZE (allocno[num].reg)
+#ifdef CLASS_CANNOT_CHANGE_MODE
+             && ! (REG_CHANGES_MODE (allocno[num].reg)
                    && (TEST_HARD_REG_BIT
-                       (reg_class_contents[(int) CLASS_CANNOT_CHANGE_SIZE],
+                       (reg_class_contents[(int) CLASS_CANNOT_CHANGE_MODE],
                         regno)))
 #endif
              )
@@ -1585,11 +1585,11 @@ static void
 set_preference (dest, src)
      rtx dest, src;
 {
-  int src_regno, dest_regno;
+  unsigned int src_regno, dest_regno;
   /* Amount to add to the hard regno for SRC, or subtract from that for DEST,
      to compensate for subregs in SRC or DEST.  */
   int offset = 0;
-  int i;
+  unsigned int i;
   int copy = 1;
 
   if (GET_RTX_FORMAT (GET_CODE (src))[0] == 'e')
@@ -1633,7 +1633,7 @@ set_preference (dest, src)
       && reg_allocno[src_regno] >= 0)
     {
       dest_regno -= offset;
-      if (dest_regno >= 0 && dest_regno < FIRST_PSEUDO_REGISTER)
+      if (dest_regno < FIRST_PSEUDO_REGISTER)
        {
          if (copy)
            SET_REGBIT (hard_reg_copy_preferences,
@@ -1652,7 +1652,7 @@ set_preference (dest, src)
       && reg_allocno[dest_regno] >= 0)
     {
       src_regno += offset;
-      if (src_regno >= 0 && src_regno < FIRST_PSEUDO_REGISTER)
+      if (src_regno < FIRST_PSEUDO_REGISTER)
        {
          if (copy)
            SET_REGBIT (hard_reg_copy_preferences,
@@ -1798,7 +1798,7 @@ build_insn_chain (first)
          c->insn = first;
          c->block = b;
 
-         if (GET_RTX_CLASS (GET_CODE (first)) == 'i')
+         if (INSN_P (first))
            {
              rtx link;
 
@@ -1820,7 +1820,7 @@ build_insn_chain (first)
          else
            COPY_REG_SET (&c->live_throughout, live_relevant_regs);
 
-         if (GET_RTX_CLASS (GET_CODE (first)) == 'i')
+         if (INSN_P (first))
            {
              rtx link;
 
@@ -1845,8 +1845,7 @@ build_insn_chain (first)
       if (b == n_basic_blocks)
        {
          for (first = NEXT_INSN (first) ; first; first = NEXT_INSN (first))
-           if (GET_RTX_CLASS (GET_CODE (first)) == 'i'
-               && GET_CODE (PATTERN (first)) != USE)
+           if (INSN_P (first) && GET_CODE (PATTERN (first)) != USE)
              abort ();
          break;
        }