This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/52678] internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842


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 :(


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]