Commit 36a9c2e9 by Jeff Law

combine.c (combinable_i3pat): Do not make REG_DEAD notes for the stack pointer,…

combine.c (combinable_i3pat): Do not make REG_DEAD notes for the stack pointer, frame pointer or arg pointer.

	* combine.c (combinable_i3pat): Do not make REG_DEAD notes for
	the stack pointer, frame pointer or arg pointer.

From-SVN: r4345
parent 194c082f
......@@ -1043,9 +1043,18 @@ combinable_i3pat (i3, loc, i2dest, i1dest, i1_not_in_src, pi3dest_killed)
return 0;
/* If DEST is used in I3, it is being killed in this insn,
so record that for later. */
so record that for later.
Never add REG_DEAD notes for the FRAME_POINTER_REGNUM or the
STACK_POINTER_REGNUM, since these are always considered to be
live. Similarly for ARG_POINTER_REGNUM if it is fixed. */
if (pi3dest_killed && GET_CODE (dest) == REG
&& reg_referenced_p (dest, PATTERN (i3)))
&& reg_referenced_p (dest, PATTERN (i3))
&& REGNO (dest) != FRAME_POINTER_REGNUM
#if ARG_POINTER_REGNUM != FRAME_POINTER_REGNUM
&& (REGNO (dest) != ARG_POINTER_REGNUM
|| ! fixed_regs [REGNO (dest)])
#endif
&& REGNO (dest) != STACK_POINTER_REGNUM)
{
if (*pi3dest_killed)
return 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