emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
authorRichard Henderson <rth@redhat.com>
Tue, 23 Nov 2004 23:10:18 +0000 (15:10 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Tue, 23 Nov 2004 23:10:18 +0000 (15:10 -0800)
        * emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
        * caller-save.c (mark_set_regs): Use subreg_regno instead.
        * final.c (alter_subreg): Likewise.
        * local-alloc.c (reg_is_born): Likewise.

From-SVN: r91115

gcc/ChangeLog
gcc/caller-save.c
gcc/emit-rtl.c
gcc/final.c
gcc/local-alloc.c
gcc/rtl.h

index 9752df3b6eebaf5981cf2a45a0135cd51197cc44..d1e06e7d82236ce9fd34e02805748f7a7f0196e1 100644 (file)
@@ -1,3 +1,10 @@
+2004-11-23  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
+       * caller-save.c (mark_set_regs): Use subreg_regno instead.
+       * final.c (alter_subreg): Likewise.
+       * local-alloc.c (reg_is_born): Likewise.
+
 2004-11-23  Richard Henderson  <rth@redhat.com>
 
        * simplify-rtx.c (simplify_subreg): Use subreg_regno_offset directly
index 4fcff8e1cabd6eeb40cccf12b8a86fae85f57b3c..26be6176fb6a35432b1924cb88859510c51e1c9b 100644 (file)
@@ -500,8 +500,7 @@ mark_set_regs (rtx reg, rtx setter ATTRIBUTE_UNUSED,
       rtx inner = SUBREG_REG (reg);
       if (!REG_P (inner) || REGNO (inner) >= FIRST_PSEUDO_REGISTER)
        return;
-
-      regno = subreg_hard_regno (reg, 1);
+      regno = subreg_regno (reg);
     }
   else if (REG_P (reg)
           && REGNO (reg) < FIRST_PSEUDO_REGISTER)
index 5f2d8b262a3cf9ba93959293ebef3ae3dd501b30..c24ba25586516076787ca788594ab55404149ce6 100644 (file)
@@ -1018,34 +1018,6 @@ maybe_set_first_label_num (rtx x)
     first_label_num = CODE_LABEL_NUMBER (x);
 }
 \f
-/* Return the final regno of X, which is a SUBREG of a hard
-   register.  */
-int
-subreg_hard_regno (rtx x, int check_mode)
-{
-  enum machine_mode mode = GET_MODE (x);
-  unsigned int byte_offset, base_regno, final_regno;
-  rtx reg = SUBREG_REG (x);
-
-  /* This is where we attempt to catch illegal subregs
-     created by the compiler.  */
-  gcc_assert (GET_CODE (x) == SUBREG && REG_P (reg));
-  base_regno = REGNO (reg);
-  gcc_assert (base_regno < FIRST_PSEUDO_REGISTER);
-  gcc_assert (!check_mode || HARD_REGNO_MODE_OK (base_regno, GET_MODE (reg)));
-#ifdef ENABLE_CHECKING
-  gcc_assert (subreg_offset_representable_p (REGNO (reg), GET_MODE (reg),
-                                            SUBREG_BYTE (x), mode));
-#endif
-  /* Catch non-congruent offsets too.  */
-  byte_offset = SUBREG_BYTE (x);
-  gcc_assert (!(byte_offset % GET_MODE_SIZE (mode)));
-
-  final_regno = subreg_regno (x);
-
-  return final_regno;
-}
-
 /* Return a value representing some low-order bits of X, where the number
    of low-order bits is given by MODE.  Note that no conversion is done
    between floating-point and fixed-point values, rather, the bit
index a45119a647e4fa4220102a733bfa0426e767a194..03806be2fa8ae0e6d045f3a588c6c768e862fe00 100644 (file)
@@ -2636,8 +2636,7 @@ alter_subreg (rtx *xp)
       else
        {
          /* Simplify_subreg can't handle some REG cases, but we have to.  */
-         unsigned int regno = subreg_hard_regno (x, 1);
-         
+         unsigned int regno = subreg_regno (x);
          gcc_assert (REG_P (y));
          *xp = gen_rtx_REG_offset (y, GET_MODE (x), regno, SUBREG_BYTE (x));
        }
index a940ba435bc82b00a12fadb35b0de4c0a8baee58..5d33f566b4f805ffd14054fb69f6d70ae692aa28 100644 (file)
@@ -2011,7 +2011,7 @@ reg_is_born (rtx reg, int birth)
     {
       regno = REGNO (SUBREG_REG (reg));
       if (regno < FIRST_PSEUDO_REGISTER)
-       regno = subreg_hard_regno (reg, 1);
+       regno = subreg_regno (reg);
     }
   else
     regno = REGNO (reg);
index ff4a0650d58678fb120f3c51dfcee69bdf4c83d9..978c92dd7e5420a2d9eb079dd1b441179ef16d4b 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -1375,7 +1375,6 @@ extern rtvec gen_rtvec_v (int, rtx *);
 extern rtx gen_reg_rtx (enum machine_mode);
 extern rtx gen_rtx_REG_offset (rtx, enum machine_mode, unsigned int, int);
 extern rtx gen_label_rtx (void);
-extern int subreg_hard_regno (rtx, int);
 extern rtx gen_lowpart_common (enum machine_mode, rtx);
 
 /* In cse.c */