* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.
From-SVN: r33342
This commit is contained in:
parent
6f81b1ade6
commit
b2433fcde0
@ -1,3 +1,7 @@
|
|||||||
|
2000-04-22 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
|
* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.
|
||||||
|
|
||||||
2000-04-22 Richard Henderson <rth@cygnus.com>
|
2000-04-22 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
* diagnostic.c (init_output_buffer): Don't initialize format_args.
|
* diagnostic.c (init_output_buffer): Don't initialize format_args.
|
||||||
|
@ -4473,12 +4473,15 @@ mark_used_reg (pbi, reg, cond, insn)
|
|||||||
be eliminated, reload will set it live at that point.
|
be eliminated, reload will set it live at that point.
|
||||||
|
|
||||||
Otherwise, record that this function uses this register. */
|
Otherwise, record that this function uses this register. */
|
||||||
|
/* ??? The PPC backend tries to "eliminate" on the pic
|
||||||
|
register to itself. This should be fixed. In the mean
|
||||||
|
time, hack around it. */
|
||||||
|
|
||||||
if (! TEST_HARD_REG_BIT (elim_reg_set, regno))
|
if (! (TEST_HARD_REG_BIT (elim_reg_set, regno)
|
||||||
|
&& (regno == FRAME_POINTER_REGNUM
|
||||||
|
|| regno == ARG_POINTER_REGNUM)))
|
||||||
{
|
{
|
||||||
int n = HARD_REGNO_NREGS (regno, GET_MODE (reg));
|
int n = HARD_REGNO_NREGS (regno, GET_MODE (reg));
|
||||||
if (n == 0)
|
|
||||||
n = 1;
|
|
||||||
do
|
do
|
||||||
regs_ever_live[regno + --n] = 1;
|
regs_ever_live[regno + --n] = 1;
|
||||||
while (n > 0);
|
while (n > 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user