This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/52678] internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 23 Mar 2012 09:29:07 +0000
- Subject: [Bug tree-optimization/52678] internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842
- Auto-submitted: auto-generated
- References: <bug-52678-4@http.gcc.gnu.org/bugzilla/>
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 :(