Hi,

> As far as I can tell, what is current calculated in i_bound (and assigned to
> nb_iterations_upper_bound), is the maximum amount of times any statement in 
> the
> loop is executed, where any includes exit tests. Differently put, the maximum
> amount of times the loop header is executed.

hmm... this is rather confusing, I don't really recall why I gave
nb_iterations_upper_bound a different semantics from any other instance
of what # of iterations of a loop means.  

> This is confirmed by this comment in tree-vrp.c:
> 
>   /* Try to use estimated number of iterations for the loop to constrain the
>      final value in the evolution.
>      We are interested in the number of executions of the latch, while
>      nb_iterations_upper_bound includes the last execution of the exit test.  
> */
> 
> I modified the patch to improved the comment.

I think a better fix would be to make the nb_iterations_upper_bound semantics
consistent with that of nb_iterations.  Let me try to do it, hopefully this 
should
be mostly mechanical,

Zdenek

Reply via email to