[Bug tree-optimization/52678] internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Mar 23 10:30:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52678
--- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-03-23 10:19:53 UTC ---
Created attachment 26966
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26966
patch
No, in fact, generating the _prologue_ loop adjusts the original PHI node from
openad_symbol_188_2 = PHI <0(2), openad_symbol_188_42(4)>
to
openad_symbol_188_2 = PHI <openad_symbol_188_105(17),
openad_symbol_188_42(4)>
and we _do_ analyze that original loop PHI. But now fail to.
One solution would be to delay peeling for the prologue loop after we peeled
the epilogue loop - but that has quite some fallout. Another solution would
be to save the scalar evolution result, but we explicitely free it after
the first peeling (because obviously while the evolution part of
openad_symbol_188_2 is still correct, it's initial value is not).
So the correct thing seems to be to preserve the evolution part and simply
take the initial value from the PHI operand.
More information about the Gcc-bugs
mailing list