[PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges
authorJeff Law <law@redhat.com>
Thu, 29 Oct 2015 16:20:06 +0000 (10:20 -0600)
committerJeff Law <law@gcc.gnu.org>
Thu, 29 Oct 2015 16:20:06 +0000 (10:20 -0600)
commit21f0717ab16fe725e887536f5f90b7487b6431cd
treecbe77223cf0c65aa5396de518c330072d3fd1143
parent3ddb720ebfccb2c64d731cd841ce3388e87abf55
[PATCH][PR tree-optimization/67892] Use FSM threader to handle backedges

PR tree-optimization/67892
* tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
in comment.
(thread_through_normal_block): If we have seen a backedge, then
do nothing.  No longer call find_jump_threads_backwards here.
(thread_across_edge): Use find_jump_threads_backwards to find
jump threads if the old style threader was not successful.
* tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
gsi_last_nondebug_bb.  Return NULL if the block does not end
with a control statement.
(find_jump_threads_backwards): Setup code moved here from
tree-ssa-threadedge.c::thread_through_normal_block.  Accept
single edge argument instead of name & block.
* tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
prototype.

        PR tree-optimization/67892
* gcc.dg/tree-ssa/pr21417: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2b.c: Likewise.

From-SVN: r229538
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr21417.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2b.c
gcc/tree-ssa-threadbackward.c
gcc/tree-ssa-threadbackward.h
gcc/tree-ssa-threadedge.c