Home | History | Annotate | Download | only in libprofile
      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