1 //===- ProfilingUtils.h - Helper functions shared by profilers --*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines a few helper functions which are used by profile
11 // instrumentation code to instrument the code. This allows the profiler pass
12 // to worry about *what* to insert, and these functions take care of *how* to do
15 //===----------------------------------------------------------------------===//
17 #ifndef PROFILINGUTILS_H
18 #define PROFILINGUTILS_H
27 void InsertProfilingInitCall(Function *MainFn, const char *FnName,
29 PointerType *arrayType = 0);
30 void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,
31 GlobalValue *CounterArray,
32 bool beginning = true);
33 void InsertProfilingShutdownCall(Function *Callee, Module *Mod);