diff options
Diffstat (limited to 'contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp')
| -rw-r--r-- | contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp | 7 | 
1 files changed, 6 insertions, 1 deletions
diff --git a/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp b/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp index 85db6e5e1105..e21b0feb7c5a 100644 --- a/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp +++ b/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp @@ -1228,7 +1228,12 @@ void LoopConstrainer::addToParentLoopIfNeeded(ArrayRef<BasicBlock *> BBs) {  Loop *LoopConstrainer::createClonedLoopStructure(Loop *Original, Loop *Parent,                                                   ValueToValueMapTy &VM) { -  Loop &New = LPM.addLoop(Parent); +  Loop &New = *new Loop(); +  if (Parent) +    Parent->addChildLoop(&New); +  else +    LI.addTopLevelLoop(&New); +  LPM.addLoop(New);    // Add all of the blocks in Original to the new loop.    for (auto *BB : Original->blocks())  | 
