[PATCH] D13949: [SLP] Treat SelectInsts as reduction values.

Nadav Rotem via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 21 10:16:04 PDT 2015


The patch looks okay. The problem of adding new instructions to the list of ‘reductions’ is that it increases the compile time of the SLP-vectorizer. Do you know how effective is this pattern? Do you know how many times it hits when you compile the llvm test suite? 


> On Oct 21, 2015, at 10:12 AM, Charlie Turner <charlie.turner at arm.com> wrote:
> 
> chatur01 created this revision.
> chatur01 added reviewers: jmolloy, nadav, mzolotukhin, spatel.
> chatur01 added a subscriber: llvm-commits.
> chatur01 set the repository for this revision to rL LLVM.
> Herald added a subscriber: aemerson.
> 
> Certain workloads, in particular sum-of-absdiff loops, can be vectorized using SLP if it can treat select instructions as reduction values.
> 
> The test case is a bit awkward. The AArch64 cost model needs some tuning to not be so pessimistic about selects. I've had to tweak the SLP threshold here.
> 
> Repository:
>  rL LLVM
> 
> http://reviews.llvm.org/D13949
> 
> Files:
>  lib/Transforms/Vectorize/SLPVectorizer.cpp
>  test/Transforms/SLPVectorizer/AArch64/horizontal.ll
> 
> <D13949.38026.patch>



More information about the llvm-commits mailing list