mirror of git://gcc.gnu.org/git/gcc.git
tree-ssa-threadbackward.c (pass_data_thread_jumps): Remove unconditional TODO_cleanup_cfg.
2016-08-11 Richard Biener <rguenther@suse.de> * tree-ssa-threadbackward.c (pass_data_thread_jumps): Remove unconditional TODO_cleanup_cfg. (pass_thread_jumps::execute): Initialize loops, perform a CFG cleanup only if we threaded a jump. * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust. From-SVN: r239355
This commit is contained in:
parent
7d188edd73
commit
bb7ebad1c0
|
|
@ -1,3 +1,10 @@
|
||||||
|
2016-08-11 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
* tree-ssa-threadbackward.c (pass_data_thread_jumps): Remove
|
||||||
|
unconditional TODO_cleanup_cfg.
|
||||||
|
(pass_thread_jumps::execute): Initialize loops, perform a CFG
|
||||||
|
cleanup only if we threaded a jump.
|
||||||
|
|
||||||
2016-08-11 Alan Modra <amodra@gmail.com>
|
2016-08-11 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR target/71680
|
PR target/71680
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
2016-08-11 Richard Biener <rguenther@suse.de>
|
||||||
|
|
||||||
|
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust.
|
||||||
|
|
||||||
2016-08-11 Alan Modra <amodra@gmail.com>
|
2016-08-11 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
* gcc.target/powerpc/pr71680.c: New.
|
* gcc.target/powerpc/pr71680.c: New.
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,9 @@
|
||||||
/* { dg-do compile } */
|
/* { dg-do compile } */
|
||||||
/* { dg-options "-O2 -fdump-tree-thread1-stats -fdump-tree-thread2-stats -fdump-tree-thread3-stats -fdump-tree-dom3-stats -fdump-tree-vrp2-stats -fno-guess-branch-probability" } */
|
/* { dg-options "-O2 -fdump-tree-thread1-stats -fdump-tree-thread2-stats -fdump-tree-dom2-stats -fdump-tree-thread3-stats -fdump-tree-dom3-stats -fdump-tree-vrp2-stats -fno-guess-branch-probability" } */
|
||||||
/* { dg-final { scan-tree-dump "Jumps threaded: 16" "thread1" } } */
|
/* { dg-final { scan-tree-dump "Jumps threaded: 16" "thread1" } } */
|
||||||
/* { dg-final { scan-tree-dump "Jumps threaded: 6" "thread2" } } */
|
/* { dg-final { scan-tree-dump "Jumps threaded: 9" "thread2" } } */
|
||||||
/* { dg-final { scan-tree-dump "Jumps threaded: 3" "thread3" } } */
|
/* { dg-final { scan-tree-dump "Jumps threaded: 3" "thread3" } } */
|
||||||
|
/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom2" } } */
|
||||||
/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom3" } } */
|
/* { dg-final { scan-tree-dump-not "Jumps threaded" "dom3" } } */
|
||||||
/* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp2" } } */
|
/* { dg-final { scan-tree-dump-not "Jumps threaded" "vrp2" } } */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -674,7 +674,7 @@ const pass_data pass_data_thread_jumps =
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
( TODO_cleanup_cfg | TODO_update_ssa ),
|
TODO_update_ssa,
|
||||||
};
|
};
|
||||||
|
|
||||||
class pass_thread_jumps : public gimple_opt_pass
|
class pass_thread_jumps : public gimple_opt_pass
|
||||||
|
|
@ -699,6 +699,8 @@ pass_thread_jumps::gate (function *fun ATTRIBUTE_UNUSED)
|
||||||
unsigned int
|
unsigned int
|
||||||
pass_thread_jumps::execute (function *fun)
|
pass_thread_jumps::execute (function *fun)
|
||||||
{
|
{
|
||||||
|
loop_optimizer_init (LOOPS_HAVE_PREHEADERS | LOOPS_HAVE_SIMPLE_LATCHES);
|
||||||
|
|
||||||
/* Try to thread each block with more than one successor. */
|
/* Try to thread each block with more than one successor. */
|
||||||
basic_block bb;
|
basic_block bb;
|
||||||
FOR_EACH_BB_FN (bb, fun)
|
FOR_EACH_BB_FN (bb, fun)
|
||||||
|
|
@ -706,8 +708,10 @@ pass_thread_jumps::execute (function *fun)
|
||||||
if (EDGE_COUNT (bb->succs) > 1)
|
if (EDGE_COUNT (bb->succs) > 1)
|
||||||
find_jump_threads_backwards (bb);
|
find_jump_threads_backwards (bb);
|
||||||
}
|
}
|
||||||
thread_through_all_blocks (true);
|
bool changed = thread_through_all_blocks (true);
|
||||||
return 0;
|
|
||||||
|
loop_optimizer_finalize ();
|
||||||
|
return changed ? TODO_cleanup_cfg : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue