Add a check to make sure schedulePass() has not deleted stale RequiredPass.
authorDevang Patel <dpatel@apple.com>
Tue, 13 Sep 2011 21:13:29 +0000 (21:13 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 13 Sep 2011 21:13:29 +0000 (21:13 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139642 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManager.cpp

index 34f37686362de52aa2407c0b4f47d1330bbf4bdb..ecedb1db66b0678346073a66c49d5210fa423f85 100644 (file)
@@ -1634,9 +1634,11 @@ void MPPassManager::addLowerLevelRequiredPass(Pass *P, Pass *RequiredPass) {
   FPP->add(RequiredPass);
 
   // Register P as the last user of RequiredPass.
-  SmallVector<Pass *, 1> LU;
-  LU.push_back(RequiredPass);
-  FPP->setLastUser(LU,  P);
+  if (RequiredPass) {
+    SmallVector<Pass *, 1> LU;
+    LU.push_back(RequiredPass);
+    FPP->setLastUser(LU,  P);
+  }
 }
 
 /// Return function pass corresponding to PassInfo PI, that is