LoopVectorize: Handle loops with multiple forward inductions
authorArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 14 May 2013 00:21:18 +0000 (00:21 +0000)
committerArnold Schwaighofer <aschwaighofer@apple.com>
Tue, 14 May 2013 00:21:18 +0000 (00:21 +0000)
commit2e7a922a155185f297343d64675dade9c38dc8a4
tree54c64d243ad937e3a619eeb9c59d05fd3fe78f46
parentf3f9e3b10ae6c95ee9ed07e08d0167f07d1b278c
LoopVectorize: Handle loops with multiple forward inductions

We used to give up if we saw two integer inductions. After this patch, we base
further induction variables on the chosen one like we do in the reverse
induction and pointer induction case.

Fixes PR15720.

radar://13851975

llvm-svn: 181746
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Transforms/LoopVectorize/induction.ll [new file with mode: 0644]