diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-01 19:42:01 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-01 19:42:01 +0000 |
commit | d1baf6ca44abccc634eaabb8a52951a388e173b5 (patch) | |
tree | f83e87a7a029c987be249cb29870fa982d3c752d /gcc/cfgloop.h | |
parent | adcd0e5f8e8d019e5742431029c2a0c5108ed1ca (diff) | |
download | ppe42-gcc-d1baf6ca44abccc634eaabb8a52951a388e173b5.tar.gz ppe42-gcc-d1baf6ca44abccc634eaabb8a52951a388e173b5.zip |
PR tree-optimization/27144
* tree-ssa-loop-niter.c (derive_constant_upper_bound): New function.
(record_estimate): Only record constant upper bound.
(infer_loop_bounds_from_undefined): Call
compute_estimated_nb_iterations just once.
(proved_non_wrapping_p): Renamed to ...
(n_of_executions_at_most): ... this. Expect bound to be a constant.
(convert_step_widening, scev_probably_wraps_p): Call
n_of_executions_at_most instead of proved_non_wrapping_p.
(substitute_in_loop_info): Do not replace values in bounds.
* cfgloop.h (struct nb_iter_bound): Remove "additional" field. Update
comments.
* gcc.dg/tree-ssa/loop-16.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113425 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfgloop.h')
-rw-r--r-- | gcc/cfgloop.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/gcc/cfgloop.h b/gcc/cfgloop.h index 9805d4cff60..f04c5d6812c 100644 --- a/gcc/cfgloop.h +++ b/gcc/cfgloop.h @@ -47,12 +47,10 @@ struct lpt_decision struct nb_iter_bound { - tree bound; /* The expression whose value is an upper bound on the - number of executions of anything after ... */ - tree at_stmt; /* ... this statement during one execution of loop. */ - tree additional; /* A conjunction of conditions the operands of BOUND - satisfy. The additional information about the value - of the bound may be derived from it. */ + tree bound; /* The constant expression whose value is an upper + bound on the number of executions of ... */ + tree at_stmt; /* ... this statement during one execution of + a loop. */ struct nb_iter_bound *next; /* The next bound in a list. */ }; |