summaryrefslogtreecommitdiff
path: root/gcc/cfglayout.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-03-30 12:46:57 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-03-30 12:46:57 -0800
commite1233a7dc0b2ab2e7d9cb5f0138a9de8f65125e5 (patch)
tree1f8da9ec73c4ebabe1b0846460e0317b29ff02a4 /gcc/cfglayout.c
parent9b703090abb0b72c28ddfe1804d93bc6af5ec6a0 (diff)
downloadgcc-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.c7
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. */