diff options
| author | Chris Lattner <sabre@nondot.org> | 2002-06-25 16:13:21 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2002-06-25 16:13:21 +0000 |
| commit | 7076ff29ed02c3472e82575594386739a4bb3e34 (patch) | |
| tree | 2e5e31bf8db609442dc4894bdaa7e9eb31189c00 /llvm/tools/analyze/analyze.cpp | |
| parent | fda72b1aad8c70686418b2a7dfa8adbc20435b0e (diff) | |
| download | bcm5719-llvm-7076ff29ed02c3472e82575594386739a4bb3e34.tar.gz bcm5719-llvm-7076ff29ed02c3472e82575594386739a4bb3e34.zip | |
MEGAPATCH checkin.
For details, See: docs/2002-06-25-MegaPatchInfo.txt
llvm-svn: 2778
Diffstat (limited to 'llvm/tools/analyze/analyze.cpp')
| -rw-r--r-- | llvm/tools/analyze/analyze.cpp | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/llvm/tools/analyze/analyze.cpp b/llvm/tools/analyze/analyze.cpp index cd35a108d5f..2d960e90a4a 100644 --- a/llvm/tools/analyze/analyze.cpp +++ b/llvm/tools/analyze/analyze.cpp @@ -41,12 +41,12 @@ using std::string; // way of using operator<< works great, so we use it directly... // template<class PassType> -static void printPass(PassType &P, ostream &O, Module *M) { +static void printPass(PassType &P, ostream &O, Module &M) { O << P; } template<class PassType> -static void printPass(PassType &P, ostream &O, Function *F) { +static void printPass(PassType &P, ostream &O, Function &F) { O << P; } @@ -54,19 +54,18 @@ static void printPass(PassType &P, ostream &O, Function *F) { // specialize the template here for them... // template<> -static void printPass(DataStructure &P, ostream &O, Module *M) { - P.print(O, M); +static void printPass(DataStructure &P, ostream &O, Module &M) { + P.print(O, &M); } template<> -static void printPass(FindUsedTypes &FUT, ostream &O, Module *M) { - FUT.printTypes(O, M); +static void printPass(FindUsedTypes &FUT, ostream &O, Module &M) { + FUT.printTypes(O, &M); } template<> -static void printPass(FindUnsafePointerTypes &FUPT, ostream &O, - Module *M) { - FUPT.printResults(M, O); +static void printPass(FindUnsafePointerTypes &FUPT, ostream &O, Module &M) { + FUPT.printResults(&M, O); } @@ -83,7 +82,7 @@ public: const char *getPassName() const { return "IP Pass Printer"; } - virtual bool run(Module *M) { + virtual bool run(Module &M) { std::cout << Message << "\n"; printPass(getAnalysis<PassName>(ID), std::cout, M); return false; @@ -103,8 +102,8 @@ public: const char *getPassName() const { return "Function Pass Printer"; } - virtual bool runOnFunction(Function *F) { - std::cout << Message << " on function '" << F->getName() << "'\n"; + virtual bool runOnFunction(Function &F) { + std::cout << Message << " on function '" << F.getName() << "'\n"; printPass(getAnalysis<PassName>(ID), std::cout, F); return false; } @@ -137,8 +136,8 @@ Pass *createPrintModulePass(const string &Message) { struct InstForestHelper : public FunctionPass { const char *getPassName() const { return "InstForest Printer"; } - void doit(Function *F) { - std::cout << InstForest<char>(F); + void doit(Function &F) { + std::cout << InstForest<char>(&F); } virtual void getAnalysisUsage(AnalysisUsage &AU) const { @@ -149,7 +148,7 @@ struct InstForestHelper : public FunctionPass { struct IndVars : public FunctionPass { const char *getPassName() const { return "IndVars Printer"; } - void doit(Function *F) { + void doit(Function &F) { LoopInfo &LI = getAnalysis<LoopInfo>(); for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) if (PHINode *PN = dyn_cast<PHINode>(*I)) { @@ -168,8 +167,8 @@ struct IndVars : public FunctionPass { struct Exprs : public FunctionPass { const char *getPassName() const { return "Expression Printer"; } - static void doit(Function *F) { - std::cout << "Classified expressions for: " << F->getName() << "\n"; + static void doit(Function &F) { + std::cout << "Classified expressions for: " << F.getName() << "\n"; for (inst_iterator I = inst_begin(F), E = inst_end(F); I != E; ++I) { std::cout << *I; @@ -207,8 +206,8 @@ class PrinterPass : public TraitClass { public: PrinterPass(const string &M) : Message(M) {} - virtual bool runOnFunction(Function *F) { - std::cout << Message << " on function '" << F->getName() << "'\n"; + virtual bool runOnFunction(Function &F) { + std::cout << Message << " on function '" << F.getName() << "'\n"; TraitClass::doit(F); return false; @@ -330,7 +329,7 @@ int main(int argc, char **argv) { } } - Analyses.run(CurMod); + Analyses.run(*CurMod); delete CurMod; return 0; |

