re PR tree-optimization/68398 (coremark regression due to r229685)
authorJeff Law <law@redhat.com>
Wed, 27 Jan 2016 19:19:47 +0000 (12:19 -0700)
committerJeff Law <law@gcc.gnu.org>
Wed, 27 Jan 2016 19:19:47 +0000 (12:19 -0700)
commit2b572b3c213b51854f5344654f23e11eaa83563e
treed12efa856784b2c9751e6eb3e813f70f08470400
parentfa74a4bca84aabe0a1500e4fe5359895c1f07e55
re PR tree-optimization/68398 (coremark regression due to r229685)

PR tree-optimization/68398
* params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
(PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Only count PHIs in the last block in the path.  The others will
const/copy propagate away.  Add heuristic to allow more irreducible
subloops to be created when it is likely profitable to do so.

* tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
Fix typo in comment.  Use gsi_after_labels and remove the GIMPLE_LABEL
check from within the loop.  Use gsi_next_nondebug rather than gsi_next.

PR tree-optimization/68398
* gcc.dg/tree-ssa/pr66752-3.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2c.c: Add extra statements on thread
path to avoid new heuristic allowing more irreducible regions
* gcc.dg/tree-ssa/ssa-dom-thread-2d.c: Likewise.
* gcc.dg/tree-ssa/vrp46.c: Likewise.
* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Update expected output.
* gcc.dg/tree-ssa/ssa-dom-thread-2g.c: New test.
* gcc.dg/tree-ssa/ssa-dom-thread-2h.c: Likewise.

From-SVN: r232897
gcc/ChangeLog
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr66752-3.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2c.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2d.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2g.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-2h.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c
gcc/testsuite/gcc.dg/tree-ssa/vrp46.c
gcc/tree-ssa-threadbackward.c