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
This commit is contained in:
Michael Hayes 2003-03-15 02:44:29 +00:00 committed by Michael Hayes
parent af75fb675d
commit d8eed979a3
2 changed files with 7 additions and 12 deletions

View File

@ -1,3 +1,9 @@
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

View File

@ -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