aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.h
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2017-05-10 11:44:45 -0500
committerPeter Bergner <bergner@gcc.gnu.org>2017-05-10 11:44:45 -0500
commitca4d28516878755a01ab8c2ba48d083100aba3fb (patch)
tree70d19af5ced974c859545f07f4ad66c75b41b3be /gcc/tree-cfg.h
parent415dcf965368a67599b93579848181ecec24f860 (diff)
downloadgcc-ca4d28516878755a01ab8c2ba48d083100aba3fb.zip
gcc-ca4d28516878755a01ab8c2ba48d083100aba3fb.tar.gz
gcc-ca4d28516878755a01ab8c2ba48d083100aba3fb.tar.bz2
tree-cfg.c (gimple_seq_unreachable_p): New function.
gcc/ * tree-cfg.c (gimple_seq_unreachable_p): New function. (assert_unreachable_fallthru_edge_p): Use it. (group_case_labels_stmt): Likewise. * tree-cfg.h: Prototype it. * stmt.c: Include cfghooks.h and tree-cfg.h. (emit_case_dispatch_table) <gap_label>: New local variable. Use it to fill dispatch table gaps. Test for default_label before updating probabilities. (expand_case) <default_label>: Remove unneeded initialization. Test for unreachable default case statement and remove its edge. Set default_label accordingly. * tree-ssa-ccp.c (optimize_unreachable): Update comment. gcc/testsuite/ * gcc.target/powerpc/pr51513.c: New test. * gcc.dg/predict-13.c: Replace __builtin_unreachable() with __builtin_abort(). * gcc.dg/predict-14.c: Likewise. From-SVN: r247844
Diffstat (limited to 'gcc/tree-cfg.h')
-rw-r--r--gcc/tree-cfg.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-cfg.h b/gcc/tree-cfg.h
index 5582a62..a3af5a4 100644
--- a/gcc/tree-cfg.h
+++ b/gcc/tree-cfg.h
@@ -56,6 +56,7 @@ extern bool is_ctrl_stmt (gimple *);
extern bool is_ctrl_altering_stmt (gimple *);
extern bool simple_goto_p (gimple *);
extern bool stmt_ends_bb_p (gimple *);
+extern bool gimple_seq_unreachable_p (gimple_seq);
extern bool assert_unreachable_fallthru_edge_p (edge);
extern void delete_tree_cfg_annotations (function *);
extern gphi *get_virtual_phi (basic_block);