summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/PassManager.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2011-09-13 21:13:29 +0000
committerDevang Patel <dpatel@apple.com>2011-09-13 21:13:29 +0000
commit6eb3a6b192104f38d4916f59539ecc4532390786 (patch)
treef3c0b41551dd0b9c5729d01286e9f2d7f6c3ecaf /llvm/lib/VMCore/PassManager.cpp
parentf1518216fd3d524f5bbdab55c62fd216b4be55b5 (diff)
downloadbcm5719-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.cpp8
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
OpenPOWER on IntegriCloud