summaryrefslogtreecommitdiffstats
path: root/llvm/include
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-30 18:32:53 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-03-30 18:32:53 +0000
commitaab97dce6aec3c3f216b27e8cea5d357a8abe5de (patch)
treea2710c08c86bc40bf248246451683737fc4c9877 /llvm/include
parent846f95080c90242ed898b9a795d8d2a5ab4fe9dc (diff)
downloadbcm5719-llvm-aab97dce6aec3c3f216b27e8cea5d357a8abe5de.tar.gz
bcm5719-llvm-aab97dce6aec3c3f216b27e8cea5d357a8abe5de.zip
Don't add the same analysis implementation pair twice.
Prevent infinite growth of the list. Patch by José Fonseca! llvm-svn: 128568
Diffstat (limited to 'llvm/include')
-rw-r--r--llvm/include/llvm/PassAnalysisSupport.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/include/llvm/PassAnalysisSupport.h b/llvm/include/llvm/PassAnalysisSupport.h
index a3342d51386..fede1216c3c 100644
--- a/llvm/include/llvm/PassAnalysisSupport.h
+++ b/llvm/include/llvm/PassAnalysisSupport.h
@@ -142,6 +142,8 @@ public:
Pass *findImplPass(Pass *P, AnalysisID PI, Function &F);
void addAnalysisImplsPair(AnalysisID PI, Pass *P) {
+ if (findImplPass(PI) == P)
+ return;
std::pair<AnalysisID, Pass*> pir = std::make_pair(PI,P);
AnalysisImpls.push_back(pir);
}
OpenPOWER on IntegriCloud