* 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>
|
||||
|
||||
* 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.
|
||||
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user