mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
72f17d97f3
Modified patch by Adam Preuss. This builds on the existing framework for block tracing, edge profiling and optimal edge profiling. See -help-hidden for new flags. For documentation, see the technical report "Implementation of Path Profiling..." in llvm.org/pubs. llvm-svn: 124515
37 lines
1.1 KiB
C
37 lines
1.1 KiB
C
/*===-- Profiling.h - Profiling support library support routines ----------===*\
|
|
|*
|
|
|* The LLVM Compiler Infrastructure
|
|
|*
|
|
|* This file 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
|
|
|
|
#include "llvm/Analysis/ProfileInfoTypes.h" /* for enum ProfilingType */
|
|
|
|
/* save_arguments - Save argc and argv as passed into the program for the file
|
|
* we output.
|
|
*/
|
|
int save_arguments(int argc, const char **argv);
|
|
|
|
/*
|
|
* Retrieves the file descriptor for the profile file.
|
|
*/
|
|
int getOutFile();
|
|
|
|
/* write_profiling_data - Write out a typed packet of profiling data to the
|
|
* current output file.
|
|
*/
|
|
void write_profiling_data(enum ProfilingType PT, unsigned *Start,
|
|
unsigned NumElements);
|
|
|
|
#endif
|