diff options
author | Devang Patel <dpatel@apple.com> | 2008-03-19 00:48:41 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-03-19 00:48:41 +0000 |
commit | c7fe32e840758baa9ce4f93c321b508a69b98262 (patch) | |
tree | 8880489b1046f714fff98a468cd30202e533b6f4 /lib | |
parent | bebc3642d354ef744f3fd55a20d28ba29ec51063 (diff) | |
download | external_llvm-c7fe32e840758baa9ce4f93c321b508a69b98262.zip external_llvm-c7fe32e840758baa9ce4f93c321b508a69b98262.tar.gz external_llvm-c7fe32e840758baa9ce4f93c321b508a69b98262.tar.bz2 |
Do not use virtual function to identify an analysis pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48520 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Analysis/AliasAnalysisCounter.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/AliasAnalysisEvaluator.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/AliasDebugger.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/AliasSetTracker.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/CFGPrinter.cpp | 19 | ||||
-rw-r--r-- | lib/Analysis/IPA/Andersens.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/IPA/GlobalsModRef.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/InstCount.cpp | 6 | ||||
-rw-r--r-- | lib/Analysis/LoadValueNumbering.cpp | 5 | ||||
-rw-r--r-- | lib/Analysis/ProfileInfoLoaderPass.cpp | 5 | ||||
-rw-r--r-- | lib/VMCore/PassManager.cpp | 2 |
11 files changed, 13 insertions, 54 deletions
diff --git a/lib/Analysis/AliasAnalysisCounter.cpp b/lib/Analysis/AliasAnalysisCounter.cpp index 8b35ea8..df3a66c 100644 --- a/lib/Analysis/AliasAnalysisCounter.cpp +++ b/lib/Analysis/AliasAnalysisCounter.cpp @@ -35,7 +35,7 @@ namespace { Module *M; public: static char ID; // Class identification, replacement for typeinfo - AliasAnalysisCounter() : ModulePass((intptr_t) &ID) { + AliasAnalysisCounter() : ModulePass((intptr_t) &ID, true) { No = May = Must = 0; NoMR = JustRef = JustMod = MR = 0; } @@ -72,9 +72,6 @@ namespace { } } - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } - bool runOnModule(Module &M) { this->M = &M; InitializeAliasAnalysis(this); diff --git a/lib/Analysis/AliasAnalysisEvaluator.cpp b/lib/Analysis/AliasAnalysisEvaluator.cpp index 51fdec4..648760a 100644 --- a/lib/Analysis/AliasAnalysisEvaluator.cpp +++ b/lib/Analysis/AliasAnalysisEvaluator.cpp @@ -52,7 +52,7 @@ namespace { public: static char ID; // Pass identification, replacement for typeid - AAEval() : FunctionPass((intptr_t)&ID) {} + AAEval() : FunctionPass((intptr_t)&ID, true) {} virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired<AliasAnalysis>(); @@ -70,9 +70,6 @@ namespace { return false; } - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } - bool runOnFunction(Function &F); bool doFinalization(Module &M); }; diff --git a/lib/Analysis/AliasDebugger.cpp b/lib/Analysis/AliasDebugger.cpp index 6b534e9..76dfe07 100644 --- a/lib/Analysis/AliasDebugger.cpp +++ b/lib/Analysis/AliasDebugger.cpp @@ -41,10 +41,7 @@ namespace { public: static char ID; // Class identification, replacement for typeinfo - AliasDebugger() : ModulePass((intptr_t)&ID) {} - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } + AliasDebugger() : ModulePass((intptr_t)&ID, true) {} bool runOnModule(Module &M) { InitializeAliasAnalysis(this); // set up super class diff --git a/lib/Analysis/AliasSetTracker.cpp b/lib/Analysis/AliasSetTracker.cpp index 69cf4b3..a6f9227 100644 --- a/lib/Analysis/AliasSetTracker.cpp +++ b/lib/Analysis/AliasSetTracker.cpp @@ -551,16 +551,13 @@ namespace { AliasSetTracker *Tracker; public: static char ID; // Pass identification, replacement for typeid - AliasSetPrinter() : FunctionPass((intptr_t)&ID) {} + AliasSetPrinter() : FunctionPass((intptr_t)&ID, true) {} virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); AU.addRequired<AliasAnalysis>(); } - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } - virtual bool runOnFunction(Function &F) { Tracker = new AliasSetTracker(getAnalysis<AliasAnalysis>()); diff --git a/lib/Analysis/CFGPrinter.cpp b/lib/Analysis/CFGPrinter.cpp index 7b61ff8..b4840dc 100644 --- a/lib/Analysis/CFGPrinter.cpp +++ b/lib/Analysis/CFGPrinter.cpp @@ -92,10 +92,7 @@ struct DOTGraphTraits<const Function*> : public DefaultDOTGraphTraits { namespace { struct VISIBILITY_HIDDEN CFGViewer : public FunctionPass { static char ID; // Pass identifcation, replacement for typeid - CFGViewer() : FunctionPass((intptr_t)&ID) {} - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } + CFGViewer() : FunctionPass((intptr_t)&ID, true) {} virtual bool runOnFunction(Function &F) { F.viewCFG(); @@ -115,10 +112,7 @@ namespace { struct VISIBILITY_HIDDEN CFGOnlyViewer : public FunctionPass { static char ID; // Pass identifcation, replacement for typeid - CFGOnlyViewer() : FunctionPass((intptr_t)&ID) {} - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } + CFGOnlyViewer() : FunctionPass((intptr_t)&ID, true) {} virtual bool runOnFunction(Function &F) { CFGOnly = true; @@ -141,10 +135,7 @@ namespace { struct VISIBILITY_HIDDEN CFGPrinter : public FunctionPass { static char ID; // Pass identification, replacement for typeid CFGPrinter() : FunctionPass((intptr_t)&ID) {} - explicit CFGPrinter(intptr_t pid) : FunctionPass(pid) {} - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } + explicit CFGPrinter(intptr_t pid) : FunctionPass(pid, true) {} virtual bool runOnFunction(Function &F) { std::string Filename = "cfg." + F.getName() + ".dot"; @@ -173,10 +164,6 @@ namespace { struct VISIBILITY_HIDDEN CFGOnlyPrinter : public CFGPrinter { static char ID; // Pass identification, replacement for typeid CFGOnlyPrinter() : CFGPrinter((intptr_t)&ID) {} - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } - virtual bool runOnFunction(Function &F) { bool OldCFGOnly = CFGOnly; CFGOnly = true; diff --git a/lib/Analysis/IPA/Andersens.cpp b/lib/Analysis/IPA/Andersens.cpp index 49c6edd..d77997b 100644 --- a/lib/Analysis/IPA/Andersens.cpp +++ b/lib/Analysis/IPA/Andersens.cpp @@ -430,10 +430,7 @@ namespace { public: 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; } + Andersens() : ModulePass((intptr_t)&ID, true) {} bool runOnModule(Module &M) { InitializeAliasAnalysis(this); diff --git a/lib/Analysis/IPA/GlobalsModRef.cpp b/lib/Analysis/IPA/GlobalsModRef.cpp index 9f0159e..a08db7b 100644 --- a/lib/Analysis/IPA/GlobalsModRef.cpp +++ b/lib/Analysis/IPA/GlobalsModRef.cpp @@ -84,10 +84,7 @@ namespace { public: 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; } + GlobalsModRef() : ModulePass((intptr_t)&ID, true) {} bool runOnModule(Module &M) { InitializeAliasAnalysis(this); // set up super class diff --git a/lib/Analysis/InstCount.cpp b/lib/Analysis/InstCount.cpp index 08a27a6..2eae5c3 100644 --- a/lib/Analysis/InstCount.cpp +++ b/lib/Analysis/InstCount.cpp @@ -51,12 +51,8 @@ namespace { abort(); } public: - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } - static char ID; // Pass identification, replacement for typeid - InstCount() : FunctionPass((intptr_t)&ID) {} + InstCount() : FunctionPass((intptr_t)&ID, true) {} virtual bool runOnFunction(Function &F); diff --git a/lib/Analysis/LoadValueNumbering.cpp b/lib/Analysis/LoadValueNumbering.cpp index 6dd55a4..6b8775b 100644 --- a/lib/Analysis/LoadValueNumbering.cpp +++ b/lib/Analysis/LoadValueNumbering.cpp @@ -41,10 +41,7 @@ namespace { // FIXME: This should not be a FunctionPass. struct VISIBILITY_HIDDEN LoadVN : public FunctionPass, public ValueNumbering { static char ID; // Class identification, replacement for typeinfo - LoadVN() : FunctionPass((intptr_t)&ID) {} - - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } + LoadVN() : FunctionPass((intptr_t)&ID, true) {} /// Pass Implementation stuff. This doesn't do any analysis. /// diff --git a/lib/Analysis/ProfileInfoLoaderPass.cpp b/lib/Analysis/ProfileInfoLoaderPass.cpp index e18625f..12b18f7 100644 --- a/lib/Analysis/ProfileInfoLoaderPass.cpp +++ b/lib/Analysis/ProfileInfoLoaderPass.cpp @@ -34,7 +34,7 @@ namespace { public: static char ID; // Class identification, replacement for typeinfo explicit LoaderPass(const std::string &filename = "") - : ModulePass((intptr_t)&ID), Filename(filename) { + : ModulePass((intptr_t)&ID, true), Filename(filename) { if (filename.empty()) Filename = ProfileInfoFilename; } @@ -46,9 +46,6 @@ namespace { return "Profiling information loader"; } - /// isAnalysis - Return true if this pass is implementing an analysis pass. - virtual bool isAnalysis() const { return true; } - /// run - Load the profile information from the specified file. virtual bool runOnModule(Module &M); }; diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index b0afaef..7db6aa2 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -430,7 +430,7 @@ void PMTopLevelManager::schedulePass(Pass *P) { // generate the analysis again. Stale analysis info should not be // available at this point. if (P->isAnalysis() && findAnalysisPass(P->getPassInfo())) - return; + return; AnalysisUsage AnUsage; P->getAnalysisUsage(AnUsage); |