http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52678

--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-03-23 
09:29:07 UTC ---
The issue is that for an induction variable i in

 long i;
 for (i = 0; i < 15; i = (int) i + 1)
   ;

we know its evolution if we know the number of iterations which we know
because we know its initial value.  For the epilogue loop though we then
see (after deciding to vectorize)

 for (; i < n; i = (int) i + 1)
   ;

where we neither see the lower nor upper bound and due to the truncation
we cannot analyze its evolution anymore.

The issue is, of course, that we only need the evolution part and that
this evolution part does not change from the initial scalar loop, so
we could just use that which we could analyze easily.  But we choose
to re-analyze the epilogue loop :(

Reply via email to