[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Nov 2015 00:33:27 +0000 (00:33 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Nov 2015 00:33:27 +0000 (00:33 +0000)
commit545d4a44f46239f987cf90135be44178f04bc98a
treecdce52b09099f2ec47842495fd8697f9d46bc078
parent61247ec4a1e9212fddfb94f91b8013f107c37fea
[PATCH][PR tree-optimization/68198] Avoid CFG explosion due to threading

PR tree-optimization/68198
* tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
between threading a multi-way branch and a thread path that contains
a multi-way branch.  Disallow the case where a path contains a
multi-way branch and does not thread a multi-way branch.
(thread_through_all_blocks): Update comment.

        PR tree-optimization/68198
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output for VRP1.
* gcc.dg/tree-ssa/pr68198.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230586 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr66752-3.c
gcc/testsuite/gcc.dg/tree-ssa/pr68198.c [new file with mode: 0644]
gcc/tree-ssa-threadupdate.c