[PATCH] D14829: [SLP] Vectorize gather-like idioms ending at non-consecutive loads.

Nadav Rotem via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 19 10:21:08 PST 2015


Matthew, thanks for working on this.  

In your patch you are vectorizing very short trees that are made out of loads, geps and potentially stores. In the early days of the SLP we disabled the vectorization of short trees because of two reasons:

1. It is very difficult to estimate the profitability of this kind of vectorization. The trees are so small and the scores of the trees are very low, often close to zero. Estimating the cost of gathers is even more difficult. I don't know if you’ve ran performance measurements but I’d be surprised if this kind of vectorization would be profitable for general programs.  
2. The SelectionDAG ConsecutiveStore optimization already vectorizes short load-store trees. 

I think that it is better to optimize this pattern by extending SelectionDAG’s ConsecutiveStore optimizations. 

What do you think?

Thanks,
Nadav


> On Nov 19, 2015, at 10:02 AM, Matthew Simpson <mssimpso at codeaurora.org> wrote:
> 
> <D14829.40672.patch>



More information about the llvm-commits mailing list