emit-rtl.c, rtl.h (subreg_hard_regno): Remove.
* 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
This commit is contained in:
parent
4488a8b876
commit
6f9e35784d
@ -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
|
||||
|
@ -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)
|
||||
|
@ -1018,34 +1018,6 @@ maybe_set_first_label_num (rtx x)
|
||||
first_label_num = CODE_LABEL_NUMBER (x);
|
||||
}
|
||||
|
||||
/* 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
|
||||
|
@ -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));
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user