https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108459

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think that ought to be fine.
There is
              if (single_nonrect == -1
                  || (loop->m1 && TREE_CODE (loop->m1) != INTEGER_CST)
                  || (loop->m2 && TREE_CODE (loop->m2) != INTEGER_CST)
                  || TREE_CODE (loop->n1) != INTEGER_CST
                  || TREE_CODE (loop->n2) != INTEGER_CST
                  || TREE_CODE (loop->step) != INTEGER_CST)
                {
                  count = NULL_TREE;
                  continue;
                }
some lines above that, after all, it is also using fold_binary rather than
fold_build2 etc.  All that code is there to compute the constant number of
iterations and other helper values for non-rectangular loops with all constant
expressions.

Reply via email to