Make non-local memdep not be recursive, and fix a bug on 403.gcc that this exposed.
[oota-llvm.git] / include / llvm / Analysis / CallGraph.h
index f29aef3a22df3a48e550f3ef855a7827134db80e..4f4ce0e9f1a3b841c0258bbff118362f85134351 100644 (file)
@@ -73,6 +73,7 @@ protected:
   FunctionMapTy FunctionMap;    // Map from a function to its node
 
 public:
+  static char ID; // Class identification, replacement for typeinfo
   //===---------------------------------------------------------------------
   // Accessors...
   //
@@ -152,10 +153,8 @@ public:
   ///
   void initialize(Module &M);
 
-  void print(llvm_ostream &o, const Module *M) const {
-    if (o.stream()) print(*o.stream(), M);
-  }
   virtual void print(std::ostream &o, const Module *M) const;
+  void print(std::ostream *o, const Module *M) const { if (o) print(*o, M); }
   void dump() const;
   
   // stub - dummy function, just ignore it
@@ -201,10 +200,8 @@ public:
   /// dump - Print out this call graph node.
   ///
   void dump() const;
-  void print(llvm_ostream &OS) const {
-    if (OS.stream()) print(*OS.stream());
-  }
   void print(std::ostream &OS) const;
+  void print(std::ostream *OS) const { if (OS) print(*OS); }
 
   //===---------------------------------------------------------------------
   // Methods to keep a call graph up to date with a function that has been