This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
prop_reg_info tweek
- To: gcc-patches at gcc dot gnu dot org
- Subject: prop_reg_info tweek
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 3 May 2000 10:58:28 -0700
We do not want call-clobbered registers marked in regs_ever_live by a call.
The fine distinction can only be seen on register window machines, and even
then probably only in certain situations.
Noticed by Jakub in a failure of the sparc sibcall patterns to choose the
more efficient sequence in a function containing only sibcalls.
r~
* flow.c (propagate_one_insn): Also don't PROP_REG_INFO for
call-clobbered registers of a call.
Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.273
diff -c -p -d -r1.273 flow.c
*** flow.c 2000/05/03 16:39:55 1.273
--- flow.c 2000/05/03 17:49:08
*************** propagate_one_insn (pbi, insn)
*** 3474,3480 ****
{
/* We do not want REG_UNUSED notes for these registers. */
mark_set_1 (pbi, CLOBBER, gen_rtx_REG (reg_raw_mode[i], i),
! cond, insn, pbi->flags & ~PROP_DEATH_NOTES);
}
}
--- 3474,3481 ----
{
/* We do not want REG_UNUSED notes for these registers. */
mark_set_1 (pbi, CLOBBER, gen_rtx_REG (reg_raw_mode[i], i),
! cond, insn,
! pbi->flags & ~(PROP_DEATH_NOTES | PROP_REG_INFO));
}
}