1 /*===-- ittnotify_types.h - JIT Profiling API internal types--------*- C -*-===*
3 * The LLVM Compiler Infrastructure
5 * This file is distributed under the University of Illinois Open Source
6 * License. See LICENSE.TXT for details.
8 *===----------------------------------------------------------------------===*
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.
15 *===----------------------------------------------------------------------===*/
16 #ifndef _ITTNOTIFY_TYPES_H_
17 #define _ITTNOTIFY_TYPES_H_
19 typedef enum ___itt_group_id
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,
43 typedef struct ___itt_group_list
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 } \
70 #endif /* _ITTNOTIFY_TYPES_H_ */