Commit b2433fcd by Richard Henderson Committed by Richard Henderson

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

From-SVN: r33342
parent 6f81b1ad
2000-04-22 Richard Henderson <rth@cygnus.com> 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. * diagnostic.c (init_output_buffer): Don't initialize format_args.
(output_clear): Likewise. (output_clear): Likewise.
(output_printf): Use va_copy. (output_printf): Use va_copy.
......
...@@ -4473,12 +4473,15 @@ mark_used_reg (pbi, reg, cond, insn) ...@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment