1/*===-- ProfileDataTypes.h - Profiling info shared constants --------------===*\ 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 constants shared by the various different profiling 11|* runtime libraries and the LLVM C++ profile metadata loader. It must be a 12|* C header because, at present, the profiling runtimes are written in C. 13|* 14\*===----------------------------------------------------------------------===*/ 15 16#ifndef LLVM_ANALYSIS_PROFILEDATATYPES_H 17#define LLVM_ANALYSIS_PROFILEDATATYPES_H 18 19/* Included by libprofile. */ 20#if defined(__cplusplus) 21extern "C" { 22#endif 23 24/* TODO: Strip out unused entries once ProfileInfo etc has been removed. */ 25enum ProfilingType { 26 ArgumentInfo = 1, /* The command line argument block */ 27 FunctionInfo = 2, /* Function profiling information */ 28 BlockInfo = 3, /* Block profiling information */ 29 EdgeInfo = 4, /* Edge profiling information */ 30 PathInfo = 5, /* Path profiling information */ 31 BBTraceInfo = 6, /* Basic block trace information */ 32 OptEdgeInfo = 7 /* Edge profiling information, optimal version */ 33}; 34 35#if defined(__cplusplus) 36} 37#endif 38 39#endif /* LLVM_ANALYSIS_PROFILEDATATYPES_H */ 40