This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
2016-07-26 18:26 GMT+03:00 Jeff Law <law@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.
Thanks,
Ilya
>
> jeff
>
- References:
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining
- Re: [PATCH, vec-tails 07/10] Support loop epilogue combining