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)
commitd4c724625a7d044dcc4ffb44f3329df3f8738954
tree98d1c7856abf1ba04fd3bce172e452077ee273bd
parent188cafb03057fe6bfe5809b61782407d22995ca5
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>

llvm-svn: 209568
llvm/lib/Analysis/ScalarEvolution.cpp
llvm/test/Transforms/SLPVectorizer/X86/consecutive-access.ll [new file with mode: 0644]