diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-18 20:22:52 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-12-18 20:22:52 +0000 |
commit | 13ea2c1f6cf133fb0ed47767787aabcb59919eb6 (patch) | |
tree | be8c1c0278641ae18ae9aa16fd05df79f9533593 /gcc/doc/invoke.texi | |
parent | bac09543806711a7b00ccd6cf918aee971f00306 (diff) | |
download | gcc-13ea2c1f6cf133fb0ed47767787aabcb59919eb6.tar.gz |
PR tree-optimization/18800
* params.def (PARAM_IV_ALWAYS_PRUNE_CAND_SET_BOUND): New parameter.
* tree-ssa-loop-ivopts.c (struct iv_ca): Add n_cands field.
(ALWAYS_PRUNE_CAND_SET_BOUND): New macro.
(iv_ca_set_no_cp, iv_ca_set_cp, iv_ca_new): Update n_cands field.
(iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_n_cands, iv_ca_prune):
New functions.
(iv_ca_extend): Return number of candidates in the set.
(try_add_cand_for): Add argument to iv_ca_extend calls.
(try_improve_iv_set): Use iv_ca_prune.
* doc/invoke.texi (iv-always-prune-cand-set-bound): Document.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92363 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/invoke.texi')
-rw-r--r-- | gcc/doc/invoke.texi | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 8316bec704b..5ba632e7561 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -5478,6 +5478,11 @@ if there are more candidates, to avoid quadratic time complexity. The induction variable optimizations give up on loops that contain more induction variable uses. +@item iv-always-prune-cand-set-bound +If number of candidates in the set is smaller than this value, +we always try to remove unnecessary ivs from the set during its +optimization when a new iv is added to the set. + @item max-iterations-to-track The maximum number of iterations of a loop the brute force algorithm |