]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* tree-ssa-loop-niter.c (number_of_iterations_exit): New parameter
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Oct 2012 16:50:05 +0000 (16:50 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Oct 2012 16:50:05 +0000 (16:50 +0000)
EVERY_ITERATION with implicit value of true.
(record_estimate): Check dominance relationship of the basic block
we are estimating on instead of relying on UPPER to be false.
(struct ilb_data): Drop RELIABLE.
(idx_infer_loop_bounds): Update.
(infer_loop_bounds_from_ref): Drop parameter RELIABLE.
(infer_loop_bounds_from_array): Drop parameter RELIABLE.
(infer_loop_bounds_from_undefined): Update comments and handling
of RELIABLE.
(estimate_numbers_of_iterations_loop): Record all bounds.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192990 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/tree-flow.h

index 15c14654b220d84d0f80728bbb1f654503d0558a..0d9edad6f7504d024061f62481470588d0e76e88 100644 (file)
@@ -627,7 +627,8 @@ bool parallelize_loops (void);
 
 bool loop_only_exit_p (const struct loop *, const_edge);
 bool number_of_iterations_exit (struct loop *, edge,
-                               struct tree_niter_desc *niter, bool);
+                               struct tree_niter_desc *niter, bool,
+                               bool every_iteration = true);
 tree find_loop_niter (struct loop *, edge *);
 tree loop_niter_by_eval (struct loop *, edge);
 tree find_loop_niter_by_eval (struct loop *, edge *);