diff options
author | Andrew Trick <atrick@apple.com> | 2012-04-10 05:14:42 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2012-04-10 05:14:42 +0000 |
commit | d9fc1ce8096f7138c60edc3a6655583bf209780e (patch) | |
tree | f03561dfeb2555e6e05b5a4ed8ce54f6c618ce96 /include | |
parent | 64c0748eb34272a6548980b3277aedebb6e6d265 (diff) | |
download | external_llvm-d9fc1ce8096f7138c60edc3a6655583bf209780e.zip external_llvm-d9fc1ce8096f7138c60edc3a6655583bf209780e.tar.gz external_llvm-d9fc1ce8096f7138c60edc3a6655583bf209780e.tar.bz2 |
Fix 12513: Loop unrolling breaks with indirect branches.
Take this opportunity to generalize the indirectbr bailout logic for
loop transformations. CFG transformations will never get indirectbr
right, and there's no point trying.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154386 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Analysis/LoopInfo.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/llvm/Analysis/LoopInfo.h b/include/llvm/Analysis/LoopInfo.h index 4921629..91feaaa 100644 --- a/include/llvm/Analysis/LoopInfo.h +++ b/include/llvm/Analysis/LoopInfo.h @@ -594,6 +594,9 @@ public: /// normal form. bool isLoopSimplifyForm() const; + /// isSafeToClone - Return true if the loop body is safe to clone in practice. + bool isSafeToClone() const; + /// hasDedicatedExits - Return true if no exit block for the loop /// has a predecessor that is outside the loop. bool hasDedicatedExits() const; |