https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110310
--- Comment #4 from avieira at gcc dot gnu.org --- > OK, so I take away from this that you don't think this is done the way it is on purpose. I don't think so, I think I just found a place where it was safe to do so, i.e. where we knew the vectorization factor would not change after. I have a vague recollection that vect_analyze_loop used to be somewhat more complex, but given the now clear separation between main loop and epilogue vinfo selection we have now, we could probably do this as we analyze loop_vinfos for epilogue? Assuming that during analysis we've had determined vf, peeling and use of masks, which I'm pretty sure we have. Might be worth asking Richard Sandiford if he can think of anything that we might not be 'fixing' during analysis.