[LoopRotate] Fix incorrect SCEV invalidation in loop rotation
authorMax Kazantsev <max.kazantsev@azul.com>
Mon, 23 Apr 2018 12:33:31 +0000 (12:33 +0000)
committerMax Kazantsev <max.kazantsev@azul.com>
Mon, 23 Apr 2018 12:33:31 +0000 (12:33 +0000)
commit91f481665ed06bcea86b7e01a094a9f0718faec4
treea9adca4a30763b552a22deb3bfcbd3f175902c6c
parent0a334a866879b6a19b5b123f240416e5d89b8d50
[LoopRotate] Fix incorrect SCEV invalidation in loop rotation

LoopRotate only invalidates innermost loops while the changes that it makes may
also affert any of this parents. With patch rL329047, SCEV becomes much smarter
about calculation of exit counts for outer loops, so we cannot assume that they are
not affected.

Differential Revision: https://reviews.llvm.org/D45945

llvm-svn: 330582
llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
llvm/test/Transforms/LoopRotate/pr37205.ll [new file with mode: 0644]