LLVM API Documentation
00001 /*===-- ittnotify_types.h - JIT Profiling API internal types--------*- C -*-===* 00002 * 00003 * The LLVM Compiler Infrastructure 00004 * 00005 * This file is distributed under the University of Illinois Open Source 00006 * License. See LICENSE.TXT for details. 00007 * 00008 *===----------------------------------------------------------------------===* 00009 * 00010 * NOTE: This file comes in a style different from the rest of LLVM 00011 * source base since this is a piece of code shared from Intel(R) 00012 * products. Please do not reformat / re-style this code to make 00013 * subsequent merges and contributions from the original source base eaiser. 00014 * 00015 *===----------------------------------------------------------------------===*/ 00016 #ifndef _ITTNOTIFY_TYPES_H_ 00017 #define _ITTNOTIFY_TYPES_H_ 00018 00019 typedef enum ___itt_group_id 00020 { 00021 __itt_group_none = 0, 00022 __itt_group_legacy = 1<<0, 00023 __itt_group_control = 1<<1, 00024 __itt_group_thread = 1<<2, 00025 __itt_group_mark = 1<<3, 00026 __itt_group_sync = 1<<4, 00027 __itt_group_fsync = 1<<5, 00028 __itt_group_jit = 1<<6, 00029 __itt_group_model = 1<<7, 00030 __itt_group_splitter_min = 1<<7, 00031 __itt_group_counter = 1<<8, 00032 __itt_group_frame = 1<<9, 00033 __itt_group_stitch = 1<<10, 00034 __itt_group_heap = 1<<11, 00035 __itt_group_splitter_max = 1<<12, 00036 __itt_group_structure = 1<<12, 00037 __itt_group_suppress = 1<<13, 00038 __itt_group_all = -1 00039 } __itt_group_id; 00040 00041 #pragma pack(push, 8) 00042 00043 typedef struct ___itt_group_list 00044 { 00045 __itt_group_id id; 00046 const char* name; 00047 } __itt_group_list; 00048 00049 #pragma pack(pop) 00050 00051 #define ITT_GROUP_LIST(varname) \ 00052 static __itt_group_list varname[] = { \ 00053 { __itt_group_all, "all" }, \ 00054 { __itt_group_control, "control" }, \ 00055 { __itt_group_thread, "thread" }, \ 00056 { __itt_group_mark, "mark" }, \ 00057 { __itt_group_sync, "sync" }, \ 00058 { __itt_group_fsync, "fsync" }, \ 00059 { __itt_group_jit, "jit" }, \ 00060 { __itt_group_model, "model" }, \ 00061 { __itt_group_counter, "counter" }, \ 00062 { __itt_group_frame, "frame" }, \ 00063 { __itt_group_stitch, "stitch" }, \ 00064 { __itt_group_heap, "heap" }, \ 00065 { __itt_group_structure, "structure" }, \ 00066 { __itt_group_suppress, "suppress" }, \ 00067 { __itt_group_none, NULL } \ 00068 } 00069 00070 #endif /* _ITTNOTIFY_TYPES_H_ */