Chris Lattner | a9a3028 | 2003-10-28 18:56:51 +0000 | [diff] [blame^] | 1 | /*===-- Profiling.h - Profiling support library support routines --*- C -*-===*\ |
| 2 | |* |
| 3 | |* The LLVM Compiler Infrastructure |
| 4 | |* |
| 5 | |* This file was developed by the LLVM research group and is distributed under |
| 6 | |* the University of Illinois Open Source 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 | /* save_arguments - Save argc and argv as passed into the program for the file |
| 19 | * we output. |
| 20 | */ |
| 21 | void save_arguments(int argc, const char **argv); |
| 22 | |
| 23 | enum ProfilingType { |
| 24 | Arguments = 1, /* The command line argument block */ |
| 25 | Function = 2, /* Function profiling information */ |
| 26 | Block = 3, /* Block profiling information */ |
| 27 | Edge = 4, /* Edge profiling information */ |
| 28 | Path = 5 /* Path profiling information */ |
| 29 | }; |
| 30 | |
| 31 | void write_profiling_data(enum ProfilingType PT, unsigned *Start, |
| 32 | unsigned NumElements); |
| 33 | |
| 34 | #endif |