Commit d8eed979 by Michael Hayes Committed by Michael Hayes

re PR rtl-optimization/9387 (jump threading bug)

	PR optimization/9387
	* function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
	for conditional returns.

From-SVN: r64390
parent af75fb67
2003-03-15 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
PR optimization/9387
* function.c (thread_prologue_and_epilogue_insns): Use redirect_jump
for conditional returns.
2003-03-14 Jason Merrill <jason@redhat.com>
PR optimization/6871
......
......@@ -7601,19 +7601,8 @@ thread_prologue_and_epilogue_insns (f)
that with a conditional return instruction. */
else if (condjump_p (jump))
{
rtx ret, *loc;
ret = SET_SRC (PATTERN (jump));
if (GET_CODE (XEXP (ret, 1)) == LABEL_REF)
loc = &XEXP (ret, 1);
else
loc = &XEXP (ret, 2);
ret = gen_rtx_RETURN (VOIDmode);
if (! validate_change (jump, loc, ret, 0))
if (! redirect_jump (jump, 0, 1))
continue;
if (JUMP_LABEL (jump))
LABEL_NUSES (JUMP_LABEL (jump))--;
/* If this block has only one successor, it both jumps
and falls through to the fallthru block, so we can't
......
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