llvm-6502/lib/Transforms/Vectorize
Arnold Schwaighofer a3fb330d05 LoopVectorizer: Recognize min/max reductions
A min/max operation is represented by a select(cmp(lt/le/gt/ge, X, Y), X, Y)
sequence in LLVM. If we see such a sequence we can treat it just as any other
commutative binary instruction and reduce it.

This appears to help bzip2 by about 1.5% on an imac12,2.

radar://12960601

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179773 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-18 17:22:34 +00:00
..
BBVectorize.cpp BBVectorize: Fixup debugging statements 2013-03-10 20:57:42 +00:00
CMakeLists.txt Add support for bottom-up SLP vectorization infrastructure. 2013-04-09 19:44:35 +00:00
LLVMBuild.txt
LoopVectorize.cpp LoopVectorizer: Recognize min/max reductions 2013-04-18 17:22:34 +00:00
Makefile
SLPVectorizer.cpp SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops. 2013-04-15 22:00:26 +00:00
Vectorize.cpp Rename the C function to create a SLPVectorizerPass to something sane and expose it in the header file. 2013-04-11 11:36:36 +00:00
VecUtils.cpp SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops. 2013-04-15 22:00:26 +00:00
VecUtils.h SLPVectorizer: Make it a function pass and add code for hoisting the vector-gather sequence out of loops. 2013-04-15 22:00:26 +00:00