diff options
author | Richard Henderson <rth@redhat.com> | 2003-03-30 12:46:57 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-03-30 12:46:57 -0800 |
commit | e1233a7dc0b2ab2e7d9cb5f0138a9de8f65125e5 (patch) | |
tree | 1f8da9ec73c4ebabe1b0846460e0317b29ff02a4 /gcc/cfglayout.c | |
parent | 9b703090abb0b72c28ddfe1804d93bc6af5ec6a0 (diff) | |
download | gcc-e1233a7dc0b2ab2e7d9cb5f0138a9de8f65125e5.zip gcc-e1233a7dc0b2ab2e7d9cb5f0138a9de8f65125e5.tar.gz gcc-e1233a7dc0b2ab2e7d9cb5f0138a9de8f65125e5.tar.bz2 |
cfgbuild.c (make_edges): Use tablejump_p.
* cfgbuild.c (make_edges): Use tablejump_p.
* cfgcleanup.c (label_is_jump_target_p): Likewise.
* cfglayout.c (cfg_layout_can_duplicate_bb_p): Likewise.
* cfgrtl.c (flow_delete_block_noexpunge): Likewise.
(try_redirect_by_replacing_jump): Likewise.
(redirect_edge_and_branch): Likewise.
* cse.c (fold_rtx): Likewise.
* jump.c (delete_related_insns): Likewise.
* rtlanal.c (get_jump_table_offset): Likewise.
* ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): Likewise.
From-SVN: r65054
Diffstat (limited to 'gcc/cfglayout.c')
-rw-r--r-- | gcc/cfglayout.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/gcc/cfglayout.c b/gcc/cfglayout.c index c95ac38..b5be7ca 100644 --- a/gcc/cfglayout.c +++ b/gcc/cfglayout.c @@ -760,7 +760,6 @@ bool cfg_layout_can_duplicate_bb_p (bb) basic_block bb; { - rtx next; edge s; if (bb == EXIT_BLOCK_PTR || bb == ENTRY_BLOCK_PTR) @@ -775,11 +774,7 @@ cfg_layout_can_duplicate_bb_p (bb) /* Do not attempt to duplicate tablejumps, as we need to unshare the dispatch table. This is difficult to do, as the instructions computing jump destination may be hoisted outside the basic block. */ - if (GET_CODE (bb->end) == JUMP_INSN && JUMP_LABEL (bb->end) - && (next = next_nonnote_insn (JUMP_LABEL (bb->end))) - && GET_CODE (next) == JUMP_INSN - && (GET_CODE (PATTERN (next)) == ADDR_VEC - || GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC)) + if (tablejump_p (bb->end, NULL, NULL)) return false; /* Do not duplicate blocks containing insns that can't be copied. */ |