32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
| //===- ProfilingUtils.h - Helper functions shared by profilers --*- C++ -*-===//
 | |
| // 
 | |
| //                     The LLVM Compiler Infrastructure
 | |
| //
 | |
| // This file was developed by the LLVM research group and is distributed under
 | |
| // the University of Illinois Open Source License. See LICENSE.TXT for details.
 | |
| // 
 | |
| //===----------------------------------------------------------------------===//
 | |
| //
 | |
| // This files defines a few helper functions which are used by profile
 | |
| // instrumentation code to instrument the code.  This allows the profiler pass
 | |
| // to worry about *what* to insert, and these functions take care of *how* to do
 | |
| // it.
 | |
| //
 | |
| //===----------------------------------------------------------------------===//
 | |
| 
 | |
| #ifndef PROFILINGUTILS_H
 | |
| #define PROFILINGUTILS_H
 | |
| 
 | |
| namespace llvm {
 | |
|   class Function;
 | |
|   class GlobalValue;
 | |
|   class BasicBlock;
 | |
| 
 | |
|   void InsertProfilingInitCall(Function *MainFn, const char *FnName,
 | |
|                                GlobalValue *Arr = 0);
 | |
|   void IncrementCounterInBlock(BasicBlock *BB, unsigned CounterNum,
 | |
|                                GlobalValue *CounterArray);
 | |
| }
 | |
| 
 | |
| #endif
 |