https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113576
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Status|NEW |ASSIGNED CC| |rguenth at gcc dot gnu.org, | |tnfchris at gcc dot gnu.org --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- So with the niter analysis part what's different is how we deal with the case of 'may_be_zero', for a loop with a non-empty latch a zero means we do not execute the latch but the traditional 'niter' means the number of latch executions. That means the vectorizer simply implementing may_be_zero as niter = may_be_zero ? 0 : niter is flawed (if it were that easy we wouldn't have this extra field).