In this patch we are trying to do two things:
authorYi Jiang <yjiang@apple.com>
Tue, 3 Sep 2013 17:26:04 +0000 (17:26 +0000)
committerYi Jiang <yjiang@apple.com>
Tue, 3 Sep 2013 17:26:04 +0000 (17:26 +0000)
commit89008539a322b9ce1d66837b3342d0be312bcbba
treec6bd47f791f3385275054fcad4b33d11561f9cda
parent6217187ff202cb919257abc32782faa35c29f5d9
In this patch we are trying to do two things:
1) If the width of vectorization list candidate is bigger than vector reg width, we will break it down to fit the vector reg.
2) We do not vectorize the width which is not power of two.

The performance result shows it will help some spec benchmarks. mesa improved 6.97% and ammp improved 1.54%.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189830 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/SLPVectorizer.cpp
test/Transforms/SLPVectorizer/X86/phi.ll
test/Transforms/SLPVectorizer/X86/phi_overalignedtype.ll [new file with mode: 0644]
test/Transforms/SLPVectorizer/X86/rgb_phi.ll