Identify Analysis pass.
Do not run analysis pass again if analysis info is still available.
This fixes PR1441.
llvm-svn: 48476
diff --git a/llvm/lib/Analysis/IPA/Andersens.cpp b/llvm/lib/Analysis/IPA/Andersens.cpp
index 5557c01..8650fb13 100644
--- a/llvm/lib/Analysis/IPA/Andersens.cpp
+++ b/llvm/lib/Analysis/IPA/Andersens.cpp
@@ -432,6 +432,9 @@
static char ID;
Andersens() : ModulePass((intptr_t)&ID) {}
+ /// isAnalysis - Return true if this pass is implementing an analysis pass.
+ virtual bool isAnalysis() const { return true; }
+
bool runOnModule(Module &M) {
InitializeAliasAnalysis(this);
IdentifyObjects(M);
diff --git a/llvm/lib/Analysis/IPA/GlobalsModRef.cpp b/llvm/lib/Analysis/IPA/GlobalsModRef.cpp
index 9aafe37..9f0159e 100644
--- a/llvm/lib/Analysis/IPA/GlobalsModRef.cpp
+++ b/llvm/lib/Analysis/IPA/GlobalsModRef.cpp
@@ -86,6 +86,9 @@
static char ID;
GlobalsModRef() : ModulePass((intptr_t)&ID) {}
+ /// isAnalysis - Return true if this pass is implementing an analysis pass.
+ virtual bool isAnalysis() const { return true; }
+
bool runOnModule(Module &M) {
InitializeAliasAnalysis(this); // set up super class
AnalyzeGlobals(M); // find non-addr taken globals