SLP/Loop vectorizer pass ordering

James Molloy james at jamesmolloy.co.uk
Fri Jul 25 08:57:08 PDT 2014


Hi Tobi,

Sorry for missing you off the to list!

> Also, James, did you happen to run some performance test with the new
order?

Not yet. I've got one queued to run over the weekend.

Cheers,

James


On 25 July 2014 16:48, Tobias Grosser <tobias at grosser.es> wrote:

> On 25/07/2014 17:41, James Molloy wrote:
>
>> Hi Nadav, Arnold,
>>
>>
>>
>> I've come across an interesting optimization problem in one of the SPEC
>> benchmarks. There is a loop that can be optimized by both the SLP
>> vectorizer
>> and the loop vectorizer (when I patch the loop vectorizer to deal with
>> fsub
>> reductions).
>>
>>
>>
>> The SLP vectorizer actually makes the performance worse - I think this is
>> due to a lack of loop unrolling afterwards. The Loop vectorizer can
>> improve
>> the performance.
>>
>>
>>
>> However, the loop vectorizer runs after the SLP vectorizer, so it never
>> gets
>> a chance. I'd have thought the ideal order would be Loop Vectorizer -> SLP
>> vectorizer -> BB vectorizer, given that the loop vectorizer if it can run
>> will probably give greater speedup than SLP.
>>
>>
>>
>> The current sequence is SLP vectorizer -> BB vectorizer -> Loop
>> vectorizer.
>>
>
> Even though I was not directly addressed. I still reply.
>
> The proposed new order is what I think makes most sense. I wonder what was
> the reason to go for the current order. Nadav, Arnold did you choose this
> order?
>
> Also, James, did you happen to run some performance test with the new
> order?
>
> Cheers,
> Tobias
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140725/df3bb591/attachment.html>


More information about the llvm-commits mailing list