[PATCH] Force LoopReroll to reset the loop trip count value after reroll.
authorZinovy Nis <zinovy.nis@gmail.com>
Tue, 22 Mar 2016 13:50:57 +0000 (13:50 +0000)
committerZinovy Nis <zinovy.nis@gmail.com>
Tue, 22 Mar 2016 13:50:57 +0000 (13:50 +0000)
commit07ac2bd4d0ed3dfd9b93e49ba302f7197bc0cd6d
tree8290dd9313e0aa60df99acfc22d15dae05379f8d
parent4c9c07414ea6a6cc76f3303baeabf737dcb6e267
[PATCH] Force LoopReroll to reset the loop trip count value after reroll.

It's a bug fix.
For rerolled loops SE trip count remains unchanged. It leads to incorrect work of the next passes.
My patch just resets SE info for rerolled loop forcing SE to re-evaluate it next time it requested.
I also added a verifier call in the exisitng test to be sure no invalid SE data remain. Without my fix this test would fail with -verify-scev.

Differential Revision: http://reviews.llvm.org/D18316

llvm-svn: 264051
llvm/lib/Transforms/Scalar/LoopRerollPass.cpp
llvm/test/Transforms/LoopReroll/basic32iters.ll