Now LoopUnswitch is a LoopPass.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34992 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/LoopPass.cpp b/lib/Analysis/LoopPass.cpp
index d44e41a..ac2e32c 100644
--- a/lib/Analysis/LoopPass.cpp
+++ b/lib/Analysis/LoopPass.cpp
@@ -132,7 +132,7 @@
 // queue. This allows LoopPass to change loop nest for the loop. This
 // utility may send LPPassManager into infinite loops so use caution.
 void LPPassManager::redoLoop(Loop *L) {
-  assert (CurrentLoop != L && "Can redo only CurrentLoop");
+  assert (CurrentLoop == L && "Can redo only CurrentLoop");
   redoThisLoop = true;
 }
 
@@ -279,6 +279,7 @@
 
     // [1] Create new Call Graph Pass Manager
     LPPM = new LPPassManager(PMD->getDepth() + 1);
+    LPPM->populateInheritedAnalysis(PMS);
 
     // [2] Set up new manager's top level manager
     PMTopLevelManager *TPM = PMD->getTopLevelManager();