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.tar.gz |
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 c95ac384535..b5be7ca29b3 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. */ |