diff options
author | Jeff Law <law@redhat.com> | 2016-01-27 12:19:47 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2016-01-27 12:19:47 -0700 |
commit | 2b572b3c213b51854f5344654f23e11eaa83563e (patch) | |
tree | d12efa856784b2c9751e6eb3e813f70f08470400 /gcc/params.def | |
parent | fa74a4bca84aabe0a1500e4fe5359895c1f07e55 (diff) | |
download | gcc-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.def | 10 |
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.", |