This requirement is enforced by a gcc_checking_assert in record_estimate. gcc/ChangeLog:
* tree-ssa-loop.h (tree_niter_desc): Update comment. -- diff --git a/gcc/tree-ssa-loop.h b/gcc/tree-ssa-loop.h index 6c70f795d171f22b3ed75873fec4920fea75255b..c24215be8822c31a05eaedcf4d3a26db0feab6cf 100644 --- a/gcc/tree-ssa-loop.h +++ b/gcc/tree-ssa-loop.h @@ -52,7 +52,8 @@ public: may_be_zero == false), more precisely the number of executions of the latch of the loop. */ widest_int max; /* The upper bound on the number of iterations of - the loop. */ + the loop. If niter is constant, then these values + must agree. */ /* The simplified shape of the exit condition. This information is used by loop unrolling. If CMP is ERROR_MARK, then the loop cannot be unrolled.