diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-03-30 18:32:53 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2011-03-30 18:32:53 +0000 |
commit | aab97dce6aec3c3f216b27e8cea5d357a8abe5de (patch) | |
tree | a2710c08c86bc40bf248246451683737fc4c9877 /llvm/include | |
parent | 846f95080c90242ed898b9a795d8d2a5ab4fe9dc (diff) | |
download | bcm5719-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.h | 2 |
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); } |