diff options
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/Analysis/CallGraph.h | 23 | ||||
| -rw-r--r-- | llvm/lib/Analysis/IPA/CallGraph.cpp | 11 | 
2 files changed, 11 insertions, 23 deletions
diff --git a/llvm/include/llvm/Analysis/CallGraph.h b/llvm/include/llvm/Analysis/CallGraph.h index 3c9106cec2e..740709d29f8 100644 --- a/llvm/include/llvm/Analysis/CallGraph.h +++ b/llvm/include/llvm/Analysis/CallGraph.h @@ -137,6 +137,12 @@ public:      destroy();    } +  /// Print the types found in the module.  If the optional Module parameter is +  /// passed in, then the types are printed symbolically if possible, using the +  /// symbol table from the module. +  /// +  void print(std::ostream &o, const Module *M) const; +  private:    //===---------------------------------------------------------------------    // Implementation of CallGraph construction @@ -250,21 +256,4 @@ template<> struct GraphTraits<const CallGraph*> :    }  }; - -//===----------------------------------------------------------------------===// -// Printing support for Call Graphs -// - -// Stuff for printing out a callgraph... - -void WriteToOutput(const CallGraph &, std::ostream &o); -inline std::ostream &operator <<(std::ostream &o, const CallGraph &CG) { -  WriteToOutput(CG, o); return o; -} -   -void WriteToOutput(const CallGraphNode *, std::ostream &o); -inline std::ostream &operator <<(std::ostream &o, const CallGraphNode *CGN) { -  WriteToOutput(CGN, o); return o; -} -  #endif diff --git a/llvm/lib/Analysis/IPA/CallGraph.cpp b/llvm/lib/Analysis/IPA/CallGraph.cpp index 5c4b5d81f7e..2c26f8dbb26 100644 --- a/llvm/lib/Analysis/IPA/CallGraph.cpp +++ b/llvm/lib/Analysis/IPA/CallGraph.cpp @@ -130,8 +130,7 @@ void CallGraph::destroy() {    FunctionMap.clear();  } - -void WriteToOutput(const CallGraphNode *CGN, std::ostream &o) { +static void WriteToOutput(const CallGraphNode *CGN, std::ostream &o) {    if (CGN->getFunction())      o << "Call graph node for function: '"        << CGN->getFunction()->getName() <<"'\n"; @@ -146,11 +145,11 @@ void WriteToOutput(const CallGraphNode *CGN, std::ostream &o) {    o << "\n";  } -void WriteToOutput(const CallGraph &CG, std::ostream &o) { -  o << "CallGraph Root is:\n" << CG.getRoot(); +void CallGraph::print(std::ostream &o, const Module *M) const { +  o << "CallGraph Root is:\n" << getRoot(); -  for (CallGraph::const_iterator I = CG.begin(), E = CG.end(); I != E; ++I) -    o << I->second; +  for (CallGraph::const_iterator I = begin(), E = end(); I != E; ++I) +    WriteToOutput(I->second, o);  }  | 

