[LV] The actual change I intended to commit in r204148. Sorry for the
authorChandler Carruth <chandlerc@gmail.com>
Tue, 18 Mar 2014 21:58:38 +0000 (21:58 +0000)
committerChandler Carruth <chandlerc@gmail.com>
Tue, 18 Mar 2014 21:58:38 +0000 (21:58 +0000)
noise.

Original commit log:
Replace some dead code with an assert. When I first ported this pass
from a loop pass to a function pass I did so in the naive, recursive
way. It doesn't actually work, we need a worklist instead. When
I switched to the worklist I didn't delete the naive recursion. That
recursion was also buggy because it was dead and never really exercised.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@204187 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Transforms/Vectorize/LoopVectorize.cpp

index dd8d5fce8d4e8c5da3d744bd99df0361753b62fb..1f02bf6cbe99b79f049a4da5663b935f9bc1320c 100644 (file)
@@ -1064,14 +1064,7 @@ struct LoopVectorize : public FunctionPass {
   }
 
   bool processLoop(Loop *L) {
-    // We only handle inner loops, so if there are children just recurse.
-    if (!L->empty()) {
-      bool Changed = false;
-      for (Loop *InnerL : *L)
-        Changed |= processLoop(InnerL);
-      return Changed;
-    }
-
+    assert(L->empty() && "Only process inner loops.");
     DEBUG(dbgs() << "LV: Checking a loop in \"" <<
           L->getHeader()->getParent()->getName() << "\"\n");