2003-10-28 18:56:51 +00:00
|
|
|
/*===-- 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.
|
|
|
|
*/
|
2004-02-10 17:36:25 +00:00
|
|
|
int save_arguments(int argc, const char **argv);
|
2003-10-28 18:56:51 +00:00
|
|
|
|
|
|
|
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
|