SLP/Loop vectorizer pass ordering
james.molloy at arm.com
Fri Jul 25 08:41:38 PDT 2014
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
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
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.
What are your thoughts on this?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-commits