cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block for orphaned jump tables.
* cfgrtl.c (try_redirect_by_replacing_jump): Create a basic block for orphaned jump tables. From-SVN: r65792
This commit is contained in:
parent
3e378f1467
commit
eb5b8ad452
|
@ -731,7 +731,7 @@ try_redirect_by_replacing_jump (e, target)
|
|||
else
|
||||
{
|
||||
rtx target_label = block_label (target);
|
||||
rtx barrier;
|
||||
rtx barrier, label, table;
|
||||
|
||||
emit_jump_insn_after (gen_jump (target_label), insn);
|
||||
JUMP_LABEL (src->end) = target_label;
|
||||
|
@ -744,6 +744,9 @@ try_redirect_by_replacing_jump (e, target)
|
|||
table will be removed later, if it is no longer needed. */
|
||||
delete_insn_chain (kill_from, insn);
|
||||
|
||||
if (tablejump_p (insn, &label, &table))
|
||||
create_basic_block (label, table, src);
|
||||
|
||||
barrier = next_nonnote_insn (src->end);
|
||||
if (!barrier || GET_CODE (barrier) != BARRIER)
|
||||
emit_barrier_after (src->end);
|
||||
|
|
Loading…
Reference in New Issue