summaryrefslogtreecommitdiff
path: root/gcc/cfgbuild.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cfgbuild.c')
-rw-r--r--gcc/cfgbuild.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/gcc/cfgbuild.c b/gcc/cfgbuild.c
index c47aad0c12f..34cc29c5685 100644
--- a/gcc/cfgbuild.c
+++ b/gcc/cfgbuild.c
@@ -51,13 +51,10 @@ inside_basic_block_p (const_rtx insn)
case CODE_LABEL:
/* Avoid creating of basic block for jumptables. */
return (NEXT_INSN (insn) == 0
- || !JUMP_P (NEXT_INSN (insn))
- || (GET_CODE (PATTERN (NEXT_INSN (insn))) != ADDR_VEC
- && GET_CODE (PATTERN (NEXT_INSN (insn))) != ADDR_DIFF_VEC));
+ || ! JUMP_TABLE_DATA_P (insn));
case JUMP_INSN:
- return (GET_CODE (PATTERN (insn)) != ADDR_VEC
- && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC);
+ return (! JUMP_TABLE_DATA_P (insn));
case CALL_INSN:
case INSN:
@@ -88,8 +85,7 @@ control_flow_insn_p (const_rtx insn)
case JUMP_INSN:
/* Jump insn always causes control transfer except for tablejumps. */
- return (GET_CODE (PATTERN (insn)) != ADDR_VEC
- && GET_CODE (PATTERN (insn)) != ADDR_DIFF_VEC);
+ return (! JUMP_TABLE_DATA_P (insn));
case CALL_INSN:
/* Noreturn and sibling call instructions terminate the basic blocks