llvm-6502/lib/Transforms/Vectorize
Suyog Sarda df970d6297 Assumption that "VectorizedValue" will always be an Instruction is not correct.
It can be a constant or a vector argument.

ex :

define i32 @hadd(<4 x i32> %a) #0 {
entry:
  %vecext = extractelement <4 x i32> %a, i32 0
  %vecext1 = extractelement <4 x i32> %a, i32 1
  %add = add i32 %vecext, %vecext1
  %vecext2 = extractelement <4 x i32> %a, i32 2
  %add3 = add i32 %add, %vecext2
  %vecext4 = extractelement <4 x i32> %a, i32 3
  %add5 = add i32 %add3, %vecext4
  ret i32 %add5
}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225517 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-09 10:23:48 +00:00
..
BBVectorize.cpp [BBVectorize] Remove two more redundant assignments. 2014-12-19 17:21:38 +00:00
CMakeLists.txt SLP Vectorizer: Implement multi-block slp-vectorization. 2013-06-22 21:34:10 +00:00
LLVMBuild.txt Prune redundant dependencies in LLVMBuild.txt. 2013-12-11 00:30:57 +00:00
LoopVectorize.cpp Fixed a bug in memory dependence checking module of loop vectorization. The following loop should not be vectorized with current algorithm. 2015-01-05 10:08:58 +00:00
Makefile
SLPVectorizer.cpp Assumption that "VectorizedValue" will always be an Instruction is not correct. 2015-01-09 10:23:48 +00:00
Vectorize.cpp [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00