Commit 79019985 by Richard Henderson Committed by Richard Henderson

cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p to skip the addr_vec.

        * cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
        to skip the addr_vec.

From-SVN: r69569
parent cecc892a
2003-07-18 Richard Henderson <rth@redhat.com>
* cfgrtl.c (force_nonfallthru_and_redirect): Use tablejump_p
to skip the addr_vec.
Fri Jul 18 15:22:28 2003 Alexandre Oliva <aoliva@redhat.com> Fri Jul 18 15:22:28 2003 Alexandre Oliva <aoliva@redhat.com>
* combine.c (combinable_i3pat): Don't forbid occurrences of * combine.c (combinable_i3pat): Don't forbid occurrences of
......
...@@ -1036,19 +1036,16 @@ force_nonfallthru_and_redirect (edge e, basic_block target) ...@@ -1036,19 +1036,16 @@ force_nonfallthru_and_redirect (edge e, basic_block target)
{ {
/* Create the new structures. */ /* Create the new structures. */
/* If the old block ended with a tablejump, skip its table
by searching forward from there. Otherwise start searching
forward from the last instruction of the old block. */
if (!tablejump_p (e->src->end, NULL, &note))
note = e->src->end;
/* Position the new block correctly relative to loop notes. */ /* Position the new block correctly relative to loop notes. */
note = last_loop_beg_note (e->src->end); note = last_loop_beg_note (note);
note = NEXT_INSN (note); note = NEXT_INSN (note);
/* ... and ADDR_VECs. */
if (note != NULL
&& GET_CODE (note) == CODE_LABEL
&& NEXT_INSN (note)
&& GET_CODE (NEXT_INSN (note)) == JUMP_INSN
&& (GET_CODE (PATTERN (NEXT_INSN (note))) == ADDR_DIFF_VEC
|| GET_CODE (PATTERN (NEXT_INSN (note))) == ADDR_VEC))
note = NEXT_INSN (NEXT_INSN (note));
jump_block = create_basic_block (note, NULL, e->src); jump_block = create_basic_block (note, NULL, e->src);
jump_block->count = e->count; jump_block->count = e->count;
jump_block->frequency = EDGE_FREQUENCY (e); jump_block->frequency = EDGE_FREQUENCY (e);
......
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