llvm-project/llvm/lib/Transforms/Vectorize
Karthik Bhat 0b0f4660fa Fix Operandreorder logic in SLPVectorizer to generate longer vectorizable chain.
This patch fixes 2 issues in reorderInputsAccordingToOpcode
1) AllSameOpcodeLeft and AllSameOpcodeRight was being calculated incorrectly resulting in code not being vectorized in few cases.
2) Adds logic to reorder operands if we get longer chain of consecutive loads enabling vectorization. Handled the same for cases were we have AltOpcode.
Thanks Michael for inputs and review.
Review: http://reviews.llvm.org/D6677

llvm-svn: 226547
2015-01-20 06:11:00 +00:00
..
BBVectorize.cpp Replace size method call of containers to empty method where appropriate 2015-01-15 11:41:30 +00:00
CMakeLists.txt SLP Vectorizer: Implement multi-block slp-vectorization. 2013-06-22 21:34:10 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
LoopVectorize.cpp [PM] Now that LoopInfo isn't in the Pass type hierarchy, it is much 2015-01-18 01:25:51 +00:00
Makefile
SLPVectorizer.cpp Fix Operandreorder logic in SLPVectorizer to generate longer vectorizable chain. 2015-01-20 06:11:00 +00:00
Vectorize.cpp [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00