PR lto/66752
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Jul 2015 20:42:15 +0000 (20:42 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 23 Jul 2015 20:42:15 +0000 (20:42 +0000)
commitec361a0c685920ba53f325b8967aedf57ce9721c
treef793f0f4fb8a17c983a108854df187470be2fa61
parentbf65976b2545c3ef1c518396273dda559903ebc5
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure.  Else add nodes from NEXT_PATH
to VISISTED_BBS.  */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.

testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.

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