summaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-30 20:46:57 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-03-30 20:46:57 +0000
commitb19beda97c4c57f1bb86e1be5e538fc833f1711f (patch)
tree1f8da9ec73c4ebabe1b0846460e0317b29ff02a4 /gcc/cfgbuild.c
parent8c2f247ff71d8a51d05e39acca137bb05a9c69e4 (diff)
downloadgcc-b19beda97c4c57f1bb86e1be5e538fc833f1711f.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65054 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index d698f3b057a..889ae9da23d 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -343,12 +343,8 @@ make_edges (label_value_list, min, max, update_p)
else if (find_reg_note (insn, REG_NON_LOCAL_GOTO, NULL_RTX))
;
- /* ??? Recognize a tablejump and do the right thing. */
- else if ((tmp = JUMP_LABEL (insn)) != NULL_RTX
- && (tmp = NEXT_INSN (tmp)) != NULL_RTX
- && GET_CODE (tmp) == JUMP_INSN
- && (GET_CODE (PATTERN (tmp)) == ADDR_VEC
- || GET_CODE (PATTERN (tmp)) == ADDR_DIFF_VEC))
+ /* Recognize a tablejump and do the right thing. */
+ else if (tablejump_p (insn, NULL, &tmp))
{
rtvec vec;
int j;