diff options
author | Richard Henderson <rth@cygnus.com> | 2000-04-22 11:47:52 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-04-22 11:47:52 -0700 |
commit | b2433fcde0f08059731043f5af3d1ad687a1fbba (patch) | |
tree | 224a74aedf2a76f794c1e8b618fa2c83f7f84084 /gcc | |
parent | 6f81b1ade69b0a968ba6fe5ea1e633cb75a11db4 (diff) | |
download | gcc-b2433fcde0f08059731043f5af3d1ad687a1fbba.zip gcc-b2433fcde0f08059731043f5af3d1ad687a1fbba.tar.gz gcc-b2433fcde0f08059731043f5af3d1ad687a1fbba.tar.bz2 |
* flow.c (mark_used_reg): Hack around rs6000 eliminable pic reg.
From-SVN: r33342
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/flow.c | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2fcc64a..7b3844a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 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. (output_clear): Likewise. (output_printf): Use va_copy. @@ -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); |