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
This commit is contained in:
Daniel Jasper 2015-03-06 10:39:14 +00:00
parent 52610d84ad
commit 90e6a21e85

View File

@ -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();