From 90e6a21e85130976deab9dc2cc47d6a7dff42153 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Fri, 6 Mar 2015 10:39:14 +0000 Subject: [PATCH] Change the way in which error case is being handled. Specifically this: * Prevents an "unused" warning in non-assert builds. * In that error case return with out removing a child loop instead of looping forever. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231459 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Scalar/LoopInterchange.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/Transforms/Scalar/LoopInterchange.cpp b/lib/Transforms/Scalar/LoopInterchange.cpp index 6ded56e4eb9..f8c865b9c18 100644 --- a/lib/Transforms/Scalar/LoopInterchange.cpp +++ b/lib/Transforms/Scalar/LoopInterchange.cpp @@ -901,14 +901,16 @@ bool LoopInterchangeProfitability::isProfitable(unsigned InnerLoopId, void LoopInterchangeTransform::removeChildLoop(Loop *OuterLoop, Loop *InnerLoop) { - for (Loop::iterator I = OuterLoop->begin(), E = OuterLoop->end();; ++I) { - assert(I != E && "Couldn't find loop"); + for (Loop::iterator I = OuterLoop->begin(), E = OuterLoop->end(); I != E; + ++I) { if (*I == InnerLoop) { OuterLoop->removeChildLoop(I); return; } } + assert(false && "Couldn't find loop"); } + void LoopInterchangeTransform::restructureLoops(Loop *InnerLoop, Loop *OuterLoop) { Loop *OuterLoopParent = OuterLoop->getParentLoop();