https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77445

--- Comment #21 from Jeffrey A. Law <law at redhat dot com> ---
In response to c#20.  We have to be careful about fixing up the loop after
rotation and avoid repeatedly peeling.  The old threader dealt with those by
being fairly conservative in passes before the loop optimizer and much more
aggressive later.

Zdenek's general argument was that peeling in the threader is fundamentally
wrong because we really only know general loop structure, but not iteration
information, data dependencies, etc (which directly affect vectorization).  If
peeling a loop inhibits vectorization, then we've most likely lost in a big
way.

I think the backward threader punts all these issues, which is probably the
better choice than aggressively trying to handle them right now.

Reply via email to