aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/libprofile/Profiling.h
blob: bb7cc8bc96c8b79570b64324bd644e4b1011070f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*===-- Profiling.h - Profiling support library support routines --*- 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 file defines functions shared by the various different profiling
|* implementations.
|*
\*===----------------------------------------------------------------------===*/

#ifndef PROFILING_H
#define PROFILING_H

/* save_arguments - Save argc and argv as passed into the program for the file
 * we output.
 */
void save_arguments(int argc, const char **argv);

enum ProfilingType {
  Arguments = 1,   /* The command line argument block */
  Function  = 2,   /* Function profiling information  */
  Block     = 3,   /* Block profiling information     */
  Edge      = 4,   /* Edge profiling information      */
  Path      = 5    /* Path profiling information      */
};

void write_profiling_data(enum ProfilingType PT, unsigned *Start,
                          unsigned NumElements);

#endif