* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.

From-SVN: r33342
This commit is contained in:
Richard Henderson 2000-04-22 11:47:52 -07:00 committed by Richard Henderson
parent 6f81b1ade6
commit b2433fcde0
2 changed files with 10 additions and 3 deletions

View File

@ -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>
* diagnostic.c (init_output_buffer): Don't initialize format_args.

View File

@ -4473,12 +4473,15 @@ mark_used_reg (pbi, reg, cond, insn)
be eliminated, reload will set it live at that point.
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));
if (n == 0)
n = 1;
do
regs_ever_live[regno + --n] = 1;
while (n > 0);