X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=tools%2Fopt%2FGraphPrinters.cpp;h=867e33480879aafa2ab511d24ac8ab1115076404;hb=56867520990a4fea1353d55f71bb74a0126554e6;hp=8ae0a0340ce033605e0f0f06fd416970bd180677;hpb=5d8925c7c506a54ebdfb0bc93437ec9f602eaaa0;p=oota-llvm.git diff --git a/tools/opt/GraphPrinters.cpp b/tools/opt/GraphPrinters.cpp index 8ae0a0340ce..867e3348087 100644 --- a/tools/opt/GraphPrinters.cpp +++ b/tools/opt/GraphPrinters.cpp @@ -2,8 +2,8 @@ // // The LLVM Compiler Infrastructure // -// This file was developed by the LLVM research group and is distributed under -// the University of Illinois Open Source License. See LICENSE.TXT for details. +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // @@ -18,6 +18,7 @@ #include "llvm/Pass.h" #include "llvm/Value.h" #include "llvm/Analysis/CallGraph.h" +#include #include using namespace llvm; @@ -59,12 +60,16 @@ namespace llvm { namespace { struct CallGraphPrinter : public ModulePass { + static char ID; // Pass ID, replacement for typeid + CallGraphPrinter() : ModulePass((intptr_t)&ID) {} + virtual bool runOnModule(Module &M) { WriteGraphToFile(std::cerr, "callgraph", &getAnalysis()); return false; } void print(std::ostream &OS) const {} + void print(std::ostream &OS, const llvm::Module*) const {} virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.addRequired(); @@ -72,6 +77,7 @@ namespace { } }; + char CallGraphPrinter::ID = 0; RegisterPass P2("print-callgraph", "Print Call Graph to 'dot' file"); }