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/ProfileInfoTypes.h" /* for enum ProfilingType */ 19 20/* save_arguments - Save argc and argv as passed into the program for the file 21 * we output. 22 */ 23int save_arguments(int argc, const char **argv); 24 25/* 26 * Retrieves the file descriptor for the profile file. 27 */ 28int getOutFile(); 29 30/* write_profiling_data - Write out a typed packet of profiling data to the 31 * current output file. 32 */ 33void write_profiling_data(enum ProfilingType PT, unsigned *Start, 34 unsigned NumElements); 35 36#endif 37