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
);