Hi Jeff, I am trying to reduce cost of repeated call of if-conversion for epilogue vectorization. I'd like to clarify your recommendation - should I design additional support for versioning in vect_do_peeling_for_loop_bound or lightweight version of if-conversion is sufficient? Any help in clarification will be appreciated.
Thanks ahead. Yuri. 2016-08-01 19:10 GMT+03:00 Jeff Law <l...@redhat.com>: > On 08/01/2016 03:09 AM, Ilya Enkovich wrote: >> >> 2016-07-26 18:38 GMT+03:00 Ilya Enkovich <enkovich....@gmail.com>: >>> >>> 2016-07-26 18:26 GMT+03:00 Jeff Law <l...@redhat.com>: >>>> >>>> On 07/26/2016 03:57 AM, Ilya Enkovich wrote: >>>>>> >>>>>> >>>>>> >>>>>> Ilya, what's the fundamental reason why we need to run >>>>>> if-conversion again? Yes, I know you want to if-convert the >>>>>> epilogue, but why? >>>>>> >>>>>> What are the consequences of not doing if-conversion on the >>>>>> epilogue? Presumably we miss a vectorization opportunity on the >>>>>> tail. But that may be a reasonable limitation to allow the >>>>>> existing work to move forward while you go back and revamp things a >>>>>> little. >>>>> >>>>> >>>>> >>>>> If we have some control-flow in a loop then we have to if-convert it >>>>> for vectorizer. We need to preserve both versions: if-converted one >>>>> for vectorizer and the original one to be used if vectorization >>>>> fails. For epilogues we have similar situation and need two >>>>> versions. I do it by running if-conversion on a copy of original >>>>> loop. Note that it doesn't run full if-conversion pass. If-conversion >>>>> is called for epilogue loop only. >>>> >>>> >>>> Right. So what I think Richi wants you to try is to use the >>>> if-converted >>>> loop to construct the if-converted epilogue. It seems conceptually >>>> simple >>>> and low cost -- the question is on the implementation side. I have no >>>> clue >>>> how painful that would be. >>> >>> >>> Probably another part of if-conversion may be re-used to build required >>> epilogue. I'll have a look. >> >> >> Hi, >> >> Yuri will continue my work from this point. > > Understood. I'm actually got some comments on #5 and Yuri is already on the > CC list for that draft message. > > Jeff