diff options
author | Devang Patel <dpatel@apple.com> | 2011-09-13 21:13:29 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2011-09-13 21:13:29 +0000 |
commit | 6eb3a6b192104f38d4916f59539ecc4532390786 (patch) | |
tree | f3c0b41551dd0b9c5729d01286e9f2d7f6c3ecaf /llvm/lib/VMCore/PassManager.cpp | |
parent | f1518216fd3d524f5bbdab55c62fd216b4be55b5 (diff) | |
download | bcm5719-llvm-6eb3a6b192104f38d4916f59539ecc4532390786.tar.gz bcm5719-llvm-6eb3a6b192104f38d4916f59539ecc4532390786.zip |
Add a check to make sure schedulePass() has not deleted stale RequiredPass.
llvm-svn: 139642
Diffstat (limited to 'llvm/lib/VMCore/PassManager.cpp')
-rw-r--r-- | llvm/lib/VMCore/PassManager.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp index 34f37686362..ecedb1db66b 100644 --- a/llvm/lib/VMCore/PassManager.cpp +++ b/llvm/lib/VMCore/PassManager.cpp @@ -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 |