diff options
author | dim <dim@FreeBSD.org> | 2015-05-21 06:57:07 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-05-21 06:57:07 +0000 |
commit | 6669eceb008a9f13853b330dc0b099d6386fe879 (patch) | |
tree | 311f96478e9fceea407d1f187f9c5cef712f796e /lib/Transforms/Scalar/LoopRotation.cpp | |
parent | ea50228cd2ebf54c0ec67624d82c47a11b807869 (diff) | |
download | FreeBSD-src-6669eceb008a9f13853b330dc0b099d6386fe879.zip FreeBSD-src-6669eceb008a9f13853b330dc0b099d6386fe879.tar.gz |
Vendor import of llvm RELEASE_361/final tag r237755 (effectively, 3.6.1 release):
https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_361/final@237755
Diffstat (limited to 'lib/Transforms/Scalar/LoopRotation.cpp')
-rw-r--r-- | lib/Transforms/Scalar/LoopRotation.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Transforms/Scalar/LoopRotation.cpp b/lib/Transforms/Scalar/LoopRotation.cpp index 9164be2..267cb99 100644 --- a/lib/Transforms/Scalar/LoopRotation.cpp +++ b/lib/Transforms/Scalar/LoopRotation.cpp @@ -535,6 +535,8 @@ bool LoopRotate::rotateLoop(Loop *L, bool SimplifiedLatch) { Loop *PredLoop = LI->getLoopFor(*PI); if (!PredLoop || PredLoop->contains(Exit)) continue; + if (isa<IndirectBrInst>((*PI)->getTerminator())) + continue; SplitLatchEdge |= L->getLoopLatch() == *PI; BasicBlock *ExitSplit = SplitCriticalEdge(*PI, Exit, this); ExitSplit->moveBefore(Exit); |