PR 64878: do not jump thread across more than one back-edge
authorSebastian Pop <s.pop@samsung.com>
Fri, 6 Feb 2015 21:08:13 +0000 (21:08 +0000)
committerSebastian Pop <spop@gcc.gnu.org>
Fri, 6 Feb 2015 21:08:13 +0000 (21:08 +0000)
commit45beb02eb0ab4714349e56e854c96cf2910a1f1b
tree08d97221c46417aa09ef53738c958a0a4940782d
parentf3ab4eedf1fdaa2f52c587a9e2b91255df32fcc1
PR 64878: do not jump thread across more than one back-edge

2015-02-04  Sebastian Pop  <s.pop@samsung.com>
    Brian Rzycki  <b.rzycki@samsung.com>

PR tree-optimization/64878
* tree-ssa-threadedge.c: Include tree-ssa-loop.h.
(fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
Stop recursion at loop phi nodes after having visited a loop phi node.

* testsuite/gcc.dg/tree-ssa/ssa-dom-thread-8.c: New.

Co-Authored-By: Brian Rzycki <b.rzycki@samsung.com>
From-SVN: r220491
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-8.c [new file with mode: 0644]
gcc/tree-ssa-threadedge.c