1/*===-- ittnotify_types.h - JIT Profiling API internal types--------*- C -*-===* 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 * NOTE: This file comes in a style different from the rest of LLVM 11 * source base since this is a piece of code shared from Intel(R) 12 * products. Please do not reformat / re-style this code to make 13 * subsequent merges and contributions from the original source base eaiser. 14 * 15 *===----------------------------------------------------------------------===*/ 16#ifndef _ITTNOTIFY_TYPES_H_ 17#define _ITTNOTIFY_TYPES_H_ 18 19typedef enum ___itt_group_id 20{ 21 __itt_group_none = 0, 22 __itt_group_legacy = 1<<0, 23 __itt_group_control = 1<<1, 24 __itt_group_thread = 1<<2, 25 __itt_group_mark = 1<<3, 26 __itt_group_sync = 1<<4, 27 __itt_group_fsync = 1<<5, 28 __itt_group_jit = 1<<6, 29 __itt_group_model = 1<<7, 30 __itt_group_splitter_min = 1<<7, 31 __itt_group_counter = 1<<8, 32 __itt_group_frame = 1<<9, 33 __itt_group_stitch = 1<<10, 34 __itt_group_heap = 1<<11, 35 __itt_group_splitter_max = 1<<12, 36 __itt_group_structure = 1<<12, 37 __itt_group_suppress = 1<<13, 38 __itt_group_all = -1 39} __itt_group_id; 40 41#pragma pack(push, 8) 42 43typedef struct ___itt_group_list 44{ 45 __itt_group_id id; 46 const char* name; 47} __itt_group_list; 48 49#pragma pack(pop) 50 51#define ITT_GROUP_LIST(varname) \ 52 static __itt_group_list varname[] = { \ 53 { __itt_group_all, "all" }, \ 54 { __itt_group_control, "control" }, \ 55 { __itt_group_thread, "thread" }, \ 56 { __itt_group_mark, "mark" }, \ 57 { __itt_group_sync, "sync" }, \ 58 { __itt_group_fsync, "fsync" }, \ 59 { __itt_group_jit, "jit" }, \ 60 { __itt_group_model, "model" }, \ 61 { __itt_group_counter, "counter" }, \ 62 { __itt_group_frame, "frame" }, \ 63 { __itt_group_stitch, "stitch" }, \ 64 { __itt_group_heap, "heap" }, \ 65 { __itt_group_structure, "structure" }, \ 66 { __itt_group_suppress, "suppress" }, \ 67 { __itt_group_none, NULL } \ 68 } 69 70#endif /* _ITTNOTIFY_TYPES_H_ */ 71