cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps before flow2.

* cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
        before flow2.
        * cfgrtl.c (try_redirect_by_replacing_jump): Similarly.

From-SVN: r64754
This commit is contained in:
Richard Henderson 2003-03-23 12:40:26 -08:00 committed by Richard Henderson
parent ac514408f6
commit ef3e988690
3 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2003-03-23 Richard Henderson <rth@redhat.com>
* cfgcleanup.c (try_optimize_cfg): Allow merging of tablejumps
before flow2.
* cfgrtl.c (try_redirect_by_replacing_jump): Similarly.
2003-03-23 Richard Henderson <rth@redhat.com>
PR opt/10116

View File

@ -1791,7 +1791,9 @@ try_optimize_cfg (mode)
/* If the jump insn has side effects,
we can't kill the edge. */
&& (GET_CODE (b->end) != JUMP_INSN
|| simplejump_p (b->end))
|| (flow2_completed
? simplejump_p (b->end)
: onlyjump_p (b->end)))
&& (next = merge_blocks (s, b, c, mode)))
{
b = next;

View File

@ -684,7 +684,7 @@ try_redirect_by_replacing_jump (e, target)
if (tmp || !onlyjump_p (insn))
return false;
if (reload_completed && JUMP_LABEL (insn)
if (flow2_completed && JUMP_LABEL (insn)
&& (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX
&& GET_CODE (table) == JUMP_INSN
&& (GET_CODE (PATTERN (table)) == ADDR_VEC