gcc/
commit34f3dfc228c3d7b94adbacb1cb98845f2ad93b7b
authorbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 May 2017 16:44:45 +0000 (10 16:44 +0000)
committerbergner <bergner@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 May 2017 16:44:45 +0000 (10 16:44 +0000)
tree70d19af5ced974c859545f07f4ad66c75b41b3be
parent8004fb1772962f510800e19c3c7cd7e01440dccb
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@247844 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/stmt.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/predict-13.c
gcc/testsuite/gcc.dg/predict-14.c
gcc/testsuite/gcc.target/powerpc/pr51513.c [new file with mode: 0644]
gcc/tree-cfg.c
gcc/tree-cfg.h
gcc/tree-ssa-ccp.c