LoopIdiom: Give up when the loop is not in canonical form.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 21 Sep 2012 17:27:23 +0000 (17:27 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 21 Sep 2012 17:27:23 +0000 (17:27 +0000)
commit28aff84ceb2fcf0e4b05ed95b81e46fcd4cd373f
tree940bcba6df7fb0e78b5162783505b07bb4828c7f
parente5e674ba1191d9e9c528eb363babdcbea1359e10
LoopIdiom: Give up when the loop is not in canonical form.

We rely on it when doing the transforms. This can happen when there is an
indirectbr in  the loop.

Fixes PR13892.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164383 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopIdiomRecognize.cpp
test/Transforms/LoopIdiom/non-canonical-loop.ll [new file with mode: 0644]