aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CloneFunction.cpp
diff options
context:
space:
mode:
authorVaivaswatha Nagaraj <vn@compilertree.com>2016-04-27 05:25:09 +0000
committerVaivaswatha Nagaraj <vn@compilertree.com>2016-04-27 05:25:09 +0000
commit08efb0efcdacb079f0687ad94e64b2b85c6f051a (patch)
treeedf6936c21ccd695824f5479006d36729593deb6 /llvm/lib/Transforms/Utils/CloneFunction.cpp
parentde4318b9280127604ccbe0c1834b063c9b5006e0 (diff)
downloadllvm-08efb0efcdacb079f0687ad94e64b2b85c6f051a.zip
llvm-08efb0efcdacb079f0687ad94e64b2b85c6f051a.tar.gz
llvm-08efb0efcdacb079f0687ad94e64b2b85c6f051a.tar.bz2
[Cloning] cloneLoopWithPreheader(): add assert to ensure no sub-loops
Summary: cloneLoopWithPreheader() does not update LoopInfo for sub-loop of the original loop being cloned. Add assert to ensure no sub-loops for loop being cloned. Reviewers: anemet, ashutosh.nema, hfinkel Subscribers: mzolotukhin, llvm-commits Differential Revision: http://reviews.llvm.org/D15922 llvm-svn: 267671
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneFunction.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/CloneFunction.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/Utils/CloneFunction.cpp b/llvm/lib/Transforms/Utils/CloneFunction.cpp
index f2d929f..c8d1212 100644
--- a/llvm/lib/Transforms/Utils/CloneFunction.cpp
+++ b/llvm/lib/Transforms/Utils/CloneFunction.cpp
@@ -672,6 +672,8 @@ Loop *llvm::cloneLoopWithPreheader(BasicBlock *Before, BasicBlock *LoopDomBB,
const Twine &NameSuffix, LoopInfo *LI,
DominatorTree *DT,
SmallVectorImpl<BasicBlock *> &Blocks) {
+ assert(OrigLoop->getSubLoops().empty() &&
+ "Loop to be cloned cannot have inner loop");
Function *F = OrigLoop->getHeader()->getParent();
Loop *ParentLoop = OrigLoop->getParentLoop();