aboutsummaryrefslogtreecommitdiff
path: root/gcc/params.def
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2016-01-27 12:19:47 -0700
committerJeff Law <law@gcc.gnu.org>2016-01-27 12:19:47 -0700
commit2b572b3c213b51854f5344654f23e11eaa83563e (patch)
treed12efa856784b2c9751e6eb3e813f70f08470400 /gcc/params.def
parentfa74a4bca84aabe0a1500e4fe5359895c1f07e55 (diff)
downloadgcc-2b572b3c213b51854f5344654f23e11eaa83563e.zip
gcc-2b572b3c213b51854f5344654f23e11eaa83563e.tar.gz
gcc-2b572b3c213b51854f5344654f23e11eaa83563e.tar.bz2
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
Diffstat (limited to 'gcc/params.def')
-rw-r--r--gcc/params.def10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/params.def b/gcc/params.def
index 88971c7..0722ad7 100644
--- a/gcc/params.def
+++ b/gcc/params.def
@@ -1145,6 +1145,16 @@ DEFPARAM (PARAM_CHKP_MAX_CTOR_SIZE,
"constructor generated by Pointer Bounds Checker.",
5000, 100, 0)
+DEFPARAM (PARAM_FSM_SCALE_PATH_STMTS,
+ "fsm-scale-path-stmts",
+ "Scale factor to apply to the number of statements in a threading path when comparing to the number of (scaled) blocks.",
+ 2, 1, 10)
+
+DEFPARAM (PARAM_FSM_SCALE_PATH_BLOCKS,
+ "fsm-scale-path-blocks",
+ "Scale factor to apply to the number of blocks in a threading path when comparing to the number of (scaled) statements.",
+ 3, 1, 10)
+
DEFPARAM (PARAM_MAX_FSM_THREAD_PATH_INSNS,
"max-fsm-thread-path-insns",
"Maximum number of instructions to copy when duplicating blocks on a finite state automaton jump thread path.",