1 /*===-- Profiling.h - Profiling support library support routines ----------===*\ 2 |* 3 |* The LLVM Compiler Infrastructure 4 |* 5 |* This file is distributed under the University of Illinois Open Source 6 |* License. See LICENSE.TXT for details. 7 |* 8 |*===----------------------------------------------------------------------===*| 9 |* 10 |* This file defines functions shared by the various different profiling 11 |* implementations. 12 |* 13 \*===----------------------------------------------------------------------===*/ 14 15 #ifndef PROFILING_H 16 #define PROFILING_H 17 18 #include "llvm/Analysis/ProfileDataTypes.h" /* for enum ProfilingType */ 19 20 /* save_arguments - Save argc and argv as passed into the program for the file 21 * we output. 22 */ 23 int save_arguments(int argc, const char **argv); 24 25 /* 26 * Retrieves the file descriptor for the profile file. 27 */ 28 int getOutFile(); 29 30 /* write_profiling_data - Write out a typed packet of profiling data to the 31 * current output file. 32 */ 33 void write_profiling_data(enum ProfilingType PT, unsigned *Start, 34 unsigned NumElements); 35 36 #endif 37