Implement sext(C1 + C2*X) --> sext(C1) + sext(C2*X) and
authorMichael Zolotukhin <mzolotukhin@apple.com>
Sat, 24 May 2014 08:09:57 +0000 (08:09 +0000)
committerMichael Zolotukhin <mzolotukhin@apple.com>
Sat, 24 May 2014 08:09:57 +0000 (08:09 +0000)
commit45788be6e2603ecfc149f43df1a6d5e04c5734d8
treebd70a5049ceac2d3d050ae7d1fce340227808277
parent6a04ef99f64c60e8368f23fa7717b74dc83cd6e1
Implement sext(C1 + C2*X) --> sext(C1) + sext(C2*X) and
sext{C1,+,C2} --> sext(C1) + sext{0,+,C2} transformation in Scalar
Evolution.

That helps SLP-vectorizer to recognize consecutive loads/stores.

<rdar://problem/14860614>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@209568 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Analysis/ScalarEvolution.cpp
test/Transforms/SLPVectorizer/X86/consecutive-access.ll [new file with mode: 0644]