mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 02:59:46 +08:00
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:
parent
af75fb675d
commit
d8eed979a3
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user