regs.h (END_HARD_REGNO): Delete.
authorRichard Sandiford <richard.sandiford@arm.com>
Tue, 19 May 2015 07:11:18 +0000 (07:11 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Tue, 19 May 2015 07:11:18 +0000 (07:11 +0000)
gcc/
* regs.h (END_HARD_REGNO): Delete.
(END_REGNO): Move to...
* rtl.h: ...here.
* bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
* caller-save.c (mark_set_regs): Likewise.
* combine.c (move_deaths, distribute_notes): Likewise.
* cse.c (invalidate, invalidate_for_call): Likewise.
* df-scan.c (df_ref_record): Likewise.
* postreload-gcse.c (reg_changed_after_insn_p): Likewise.
(record_last_reg_set_info): Likewise.
* reg-stack.c (convert_regs_exit): Likewise.
* reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
* resource.c (update_live_status): Likewise.
* rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.

From-SVN: r223343

13 files changed:
gcc/ChangeLog
gcc/bt-load.c
gcc/caller-save.c
gcc/combine.c
gcc/cse.c
gcc/df-scan.c
gcc/postreload-gcse.c
gcc/reg-stack.c
gcc/regs.h
gcc/reload.c
gcc/resource.c
gcc/rtl.h
gcc/rtlanal.c

index 92e2bd402f52ab0d2f3e145066a99222d0e56ae9..1cb488ece91f2094b3fc5186faea9cfcbe4ffec7 100644 (file)
@@ -1,3 +1,20 @@
+2015-05-19  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * regs.h (END_HARD_REGNO): Delete.
+       (END_REGNO): Move to...
+       * rtl.h: ...here.
+       * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
+       * caller-save.c (mark_set_regs): Likewise.
+       * combine.c (move_deaths, distribute_notes): Likewise.
+       * cse.c (invalidate, invalidate_for_call): Likewise.
+       * df-scan.c (df_ref_record): Likewise.
+       * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
+       (record_last_reg_set_info): Likewise.
+       * reg-stack.c (convert_regs_exit): Likewise.
+       * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
+       * resource.c (update_live_status): Likewise.
+       * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
+
 2015-05-19  Richard Sandiford  <richard.sandiford@arm.com>
 
        * rtl.h (reg_info): Add an nregs field.
index c028281ef3ffabeb38d85cc65ffeb645843ebd7e..fe646619c7354e968764045459e890230bac55ef 100644 (file)
@@ -443,7 +443,7 @@ note_btr_set (rtx dest, const_rtx set ATTRIBUTE_UNUSED, void *data)
   if (!REG_P (dest))
     return;
   regno = REGNO (dest);
-  end_regno = END_HARD_REGNO (dest);
+  end_regno = END_REGNO (dest);
   for (; regno < end_regno; regno++)
     if (TEST_HARD_REG_BIT (all_btrs, regno))
       {
index 2cb77e6ccdfdfa29230a8b81f5b3a7c2dc9fc707..673a47051da184e80bb9fb9046b93ef10cb764a6 100644 (file)
@@ -992,7 +992,7 @@ mark_set_regs (rtx reg, const_rtx setter ATTRIBUTE_UNUSED, void *data)
           && REGNO (reg) < FIRST_PSEUDO_REGISTER)
     {
       regno = REGNO (reg);
-      endregno = END_HARD_REGNO (reg);
+      endregno = END_REGNO (reg);
     }
   else
     return;
index 4ea450a66bbf6bbae2209c11661e0c5d44c98424..a90849ed0e98dc23fbd56f0eb733b5f0bc8adf2b 100644 (file)
@@ -13454,8 +13454,8 @@ move_deaths (rtx x, rtx maybe_kill_insn, int from_luid, rtx_insn *to_insn,
                  > GET_MODE_SIZE (GET_MODE (x))))
            {
              unsigned int deadregno = REGNO (XEXP (note, 0));
-             unsigned int deadend = END_HARD_REGNO (XEXP (note, 0));
-             unsigned int ourend = END_HARD_REGNO (x);
+             unsigned int deadend = END_REGNO (XEXP (note, 0));
+             unsigned int ourend = END_REGNO (x);
              unsigned int i;
 
              for (i = deadregno; i < deadend; i++)
@@ -13475,7 +13475,7 @@ move_deaths (rtx x, rtx maybe_kill_insn, int from_luid, rtx_insn *to_insn,
                   && regno < FIRST_PSEUDO_REGISTER
                   && REG_NREGS (x) > 1)
            {
-             unsigned int ourend = END_HARD_REGNO (x);
+             unsigned int ourend = END_REGNO (x);
              unsigned int i, offset;
              rtx oldnotes = 0;
 
@@ -14070,7 +14070,7 @@ distribute_notes (rtx notes, rtx_insn *from_insn, rtx_insn *i3, rtx_insn *i2,
 
              if (place && REG_NREGS (XEXP (note, 0)) > 1)
                {
-                 unsigned int endregno = END_HARD_REGNO (XEXP (note, 0));
+                 unsigned int endregno = END_REGNO (XEXP (note, 0));
                  bool all_used = true;
                  unsigned int i;
 
index fcfcd3da68b68d308978017b3a9fe82bfe644ff1..aa65b1e72d0eed235ff4fb22270443f3e6a4ccfb 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -1894,7 +1894,7 @@ invalidate (rtx x, machine_mode full_mode)
          {
            HOST_WIDE_INT in_table
              = TEST_HARD_REG_BIT (hard_regs_in_table, regno);
-           unsigned int endregno = END_HARD_REGNO (x);
+           unsigned int endregno = END_REGNO (x);
            unsigned int tregno, tendregno, rn;
            struct table_elt *p, *next;
 
@@ -1920,7 +1920,7 @@ invalidate (rtx x, machine_mode full_mode)
                      continue;
 
                    tregno = REGNO (p->exp);
-                   tendregno = END_HARD_REGNO (p->exp);
+                   tendregno = END_REGNO (p->exp);
                    if (tendregno > regno && tregno < endregno)
                      remove_from_table (p, hash);
                  }
@@ -2139,7 +2139,7 @@ invalidate_for_call (void)
            continue;
 
          regno = REGNO (p->exp);
-         endregno = END_HARD_REGNO (p->exp);
+         endregno = END_REGNO (p->exp);
 
          for (i = regno; i < endregno; i++)
            if (TEST_HARD_REG_BIT (regs_invalidated_by_call, i))
index 3aec13cdb6ad8714d6e5b244581df06d9def2afb..7aaa0f964ca5296fe909de04c328b64d357f8873 100644 (file)
@@ -2624,7 +2624,7 @@ df_ref_record (enum df_ref_class cl,
          endregno = regno + subreg_nregs (reg);
        }
       else
-       endregno = END_HARD_REGNO (reg);
+       endregno = END_REGNO (reg);
 
       /*  If this is a multiword hardreg, we create some extra
          datastructures that will enable us to easily build REG_DEAD
index 9014d69df2065891c52762cf1a408bc0a9b86600..81887678ee157827622dee0f6234c84c39bc20c6 100644 (file)
@@ -551,7 +551,7 @@ reg_changed_after_insn_p (rtx x, int cuid)
   unsigned int regno, end_regno;
 
   regno = REGNO (x);
-  end_regno = END_HARD_REGNO (x);
+  end_regno = END_REGNO (x);
   do
     if (reg_avail_info[regno] > cuid)
       return true;
@@ -720,7 +720,7 @@ record_last_reg_set_info (rtx_insn *insn, rtx reg)
   unsigned int regno, end_regno;
 
   regno = REGNO (reg);
-  end_regno = END_HARD_REGNO (reg);
+  end_regno = END_REGNO (reg);
   do
     reg_avail_info[regno] = INSN_CUID (insn);
   while (++regno < end_regno);
index b6ed778aa3cc4ef915de7b0216ce88d96af6de97..5c8b83b20cbfffa96d4b8946d1eaa97e748c4935 100644 (file)
@@ -2677,7 +2677,7 @@ convert_regs_exit (void)
   if (retvalue)
     {
       value_reg_low = REGNO (retvalue);
-      value_reg_high = END_HARD_REGNO (retvalue) - 1;
+      value_reg_high = END_REGNO (retvalue) - 1;
     }
 
   output_stack = &BLOCK_INFO (EXIT_BLOCK_PTR_FOR_FN (cfun))->stack_in;
index a1374d10941ad3e86bd23747862527bfd2a633f6..023d631ea4614cc3065d24ca00f42bf2db08e3c8 100644 (file)
@@ -286,14 +286,6 @@ end_hard_regno (machine_mode mode, unsigned int regno)
   return regno + hard_regno_nregs[regno][(int) mode];
 }
 
-/* Likewise for hard register X.  */
-
-#define END_HARD_REGNO(X) END_REGNO (X)
-
-/* Likewise for hard or pseudo register X.  */
-
-#define END_REGNO(X) (REGNO (X) + REG_NREGS (X))
-
 /* Add to REGS all the registers required to store a value of mode MODE
    in register REGNO.  */
 
index a3edb15d4be3c7596979a10e8466a6e0b2ff2878..f2482fcae215ccea451c6e3428897e37b5911930 100644 (file)
@@ -6590,7 +6590,7 @@ reg_overlap_mentioned_for_reload_p (rtx x, rtx in)
          return 0;
        }
 
-      endregno = END_HARD_REGNO (x);
+      endregno = END_REGNO (x);
 
       return refers_to_regno_for_reload_p (regno, endregno, in, (rtx*) 0);
     }
index ba9de123fa0c477e8aa5f26d527f490172ed3dfb..a9c0d0ad639081dd24a9fd4b72ffc0cb4a1fb6f4 100644 (file)
@@ -115,7 +115,7 @@ update_live_status (rtx dest, const_rtx x, void *data ATTRIBUTE_UNUSED)
   else
     {
       first_regno = REGNO (dest);
-      last_regno = END_HARD_REGNO (dest);
+      last_regno = END_REGNO (dest);
     }
 
   if (GET_CODE (x) == CLOBBER)
index e7d06c2ecdd7e771250695ba99a6fbee29c4dfec..fb7b6416d3f88e29b3f8c15de9adcb654f29849d 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1733,6 +1733,13 @@ rhs_regno (const_rtx x)
   return REG_CHECK (x)->regno;
 }
 
+/* Return the final register in REG X plus one.  */
+static inline unsigned int
+END_REGNO (const_rtx x)
+{
+  return REGNO (x) + REG_NREGS (x);
+}
+
 /* Change the REGNO and REG_NREGS of REG X to the specified values,
    bypassing the df machinery.  */
 static inline void
index 68d9931940328b880a9276d8d56fbc7b00367750..1b59e32ff1ad1e52d6504347fa105f3b428215b2 100644 (file)
@@ -2018,7 +2018,7 @@ find_reg_fusage (const_rtx insn, enum rtx_code code, const_rtx datum)
 
       if (regno < FIRST_PSEUDO_REGISTER)
        {
-         unsigned int end_regno = END_HARD_REGNO (datum);
+         unsigned int end_regno = END_REGNO (datum);
          unsigned int i;
 
          for (i = regno; i < end_regno; i++)
@@ -2052,7 +2052,7 @@ find_regno_fusage (const_rtx insn, enum rtx_code code, unsigned int regno)
       if (GET_CODE (op = XEXP (link, 0)) == code
          && REG_P (reg = XEXP (op, 0))
          && REGNO (reg) <= regno
-         && END_HARD_REGNO (reg) > regno)
+         && END_REGNO (reg) > regno)
        return 1;
     }