The edge from DISubprogram to DICompileUnit has been removed in recent versions
[oota-llvm.git] / lib / Transforms / Instrumentation / ProfilingUtils.h
index 94efffec8a3d611c58276f81d1279f5da20773f4..09b22171ff04d6cf9a9ee3ef346012de1f761ef5 100644 (file)
 #define PROFILINGUTILS_H
 
 namespace llvm {
+  class BasicBlock;
   class Function;
   class GlobalValue;
-  class BasicBlock;
+  class Module;
+  class PointerType;
 
   void InsertProfilingInitCall(Function *MainFn, const char *FnName,
-                               GlobalValue *Arr = 0);
+                               GlobalValue *Arr = 0,
+                               PointerType *arrayType = 0);
   void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,
-                               GlobalValue *CounterArray);
+                               GlobalValue *CounterArray,
+                               bool beginning = true);
+  void InsertProfilingShutdownCall(Function *Callee, Module *Mod);
 }
 
 #endif