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> 2003-03-14 Jason Merrill <jason@redhat.com>
PR optimization/6871 PR optimization/6871
......
...@@ -7601,19 +7601,8 @@ thread_prologue_and_epilogue_insns (f) ...@@ -7601,19 +7601,8 @@ thread_prologue_and_epilogue_insns (f)
that with a conditional return instruction. */ that with a conditional return instruction. */
else if (condjump_p (jump)) else if (condjump_p (jump))
{ {
rtx ret, *loc; if (! redirect_jump (jump, 0, 1))
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))
continue; continue;
if (JUMP_LABEL (jump))
LABEL_NUSES (JUMP_LABEL (jump))--;
/* If this block has only one successor, it both jumps /* If this block has only one successor, it both jumps
and falls through to the fallthru block, so we can't 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