aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/VMCore/PassManager.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index 02938710fa..bc85967ee1 100644
--- a/lib/VMCore/PassManager.cpp
+++ b/lib/VMCore/PassManager.cpp
@@ -157,6 +157,7 @@ public:
recordAvailableAnalysis(IP);
} else {
P->assignPassManager(activeStack);
+ activeStack.handleLastUserOverflow();
}
}
@@ -255,6 +256,7 @@ public:
recordAvailableAnalysis(IP);
} else {
P->assignPassManager(activeStack);
+ activeStack.handleLastUserOverflow();
}
}
@@ -1220,6 +1222,7 @@ void PMStack::handleLastUserOverflow() {
if (!TLU.empty()) {
Pass *P = dynamic_cast<Pass *>(Parent);
TPM->setLastUser(TLU, P);
+ TLU.clear();
}
}
}