From d8eed979a34b1888fe34127d183a053ccc9a6a67 Mon Sep 17 00:00:00 2001 From: Michael Hayes Date: Sat, 15 Mar 2003 02:44:29 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/function.c | 13 +------------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 146eb18973b..206fffc9567 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-03-15 Michael Hayes + + PR optimization/9387 + * function.c (thread_prologue_and_epilogue_insns): Use redirect_jump + for conditional returns. + 2003-03-14 Jason Merrill PR optimization/6871 diff --git a/gcc/function.c b/gcc/function.c index 73527bc037e..26fc9ecca76 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -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 -- 2.30.2