diff options
author | Andrew MacLeod <amacleod@redhat.com> | 2021-04-16 17:08:51 -0400 |
---|---|---|
committer | Andrew MacLeod <amacleod@redhat.com> | 2021-04-19 15:49:04 -0400 |
commit | 329d2f0df7d6d22c87ab3338b94caef68139cd58 (patch) | |
tree | f70ab418e58c0ff0b6008744c9a4f7f5becd4cb2 /gcc/params.opt | |
parent | dc7d1c74ffb1cc85e67984632f581d526c783770 (diff) | |
download | gcc-329d2f0df7d6d22c87ab3338b94caef68139cd58.zip gcc-329d2f0df7d6d22c87ab3338b94caef68139cd58.tar.gz gcc-329d2f0df7d6d22c87ab3338b94caef68139cd58.tar.bz2 |
tree-optimization/100081 - Limit depth of logical expression windback.
Limit how many logical expressions GORI will look back through when
evaluating outgoing edge range.
PR tree-optimization/100081
* gimple-range-cache.h (ranger_cache): Inherit from gori_compute
rather than gori_compute_cache.
* gimple-range-gori.cc (is_gimple_logical_p): Move to top of file.
(range_def_chain::m_logical_depth): New member.
(range_def_chain::range_def_chain): Initialize m_logical_depth.
(range_def_chain::get_def_chain): Don't build defchains through more
than LOGICAL_LIMIT logical expressions.
* params.opt (param_ranger_logical_depth): New.
Diffstat (limited to 'gcc/params.opt')
-rw-r--r-- | gcc/params.opt | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/params.opt b/gcc/params.opt index b516489..7c7aa78 100644 --- a/gcc/params.opt +++ b/gcc/params.opt @@ -157,6 +157,11 @@ Enum(evrp_mode) String(trace) Value(EVRP_MODE_TRACE) EnumValue Enum(evrp_mode) String(debug) Value(EVRP_MODE_DEBUG) +-param=ranger-logical-depth= +Common Joined UInteger Var(param_ranger_logical_depth) Init(6) IntegerRange(1, 999) Param Optimization +Maximum depth of logical expression evaluation ranger will look through when +evaluting outgoing edge ranges. + -param=fsm-maximum-phi-arguments= Common Joined UInteger Var(param_fsm_maximum_phi_arguments) Init(100) IntegerRange(1, 999999) Param Optimization Maximum number of arguments a PHI may have before the FSM threader will not try to thread through its block. |