1 2 //===----------------------------------------------------------------------===// 3 // 4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5 // See https://llvm.org/LICENSE.txt for license information. 6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7 // 8 //===----------------------------------------------------------------------===// 9 10 11 #ifndef _ITTNOTIFY_TYPES_H_ 12 #define _ITTNOTIFY_TYPES_H_ 13 14 typedef enum ___itt_group_id 15 { 16 __itt_group_none = 0, 17 __itt_group_legacy = 1<<0, 18 __itt_group_control = 1<<1, 19 __itt_group_thread = 1<<2, 20 __itt_group_mark = 1<<3, 21 __itt_group_sync = 1<<4, 22 __itt_group_fsync = 1<<5, 23 __itt_group_jit = 1<<6, 24 __itt_group_model = 1<<7, 25 __itt_group_splitter_min = 1<<7, 26 __itt_group_counter = 1<<8, 27 __itt_group_frame = 1<<9, 28 __itt_group_stitch = 1<<10, 29 __itt_group_heap = 1<<11, 30 __itt_group_splitter_max = 1<<12, 31 __itt_group_structure = 1<<12, 32 __itt_group_suppress = 1<<13, 33 __itt_group_arrays = 1<<14, 34 __itt_group_all = -1 35 } __itt_group_id; 36 37 #pragma pack(push, 8) 38 39 typedef struct ___itt_group_list 40 { 41 __itt_group_id id; 42 const char* name; 43 } __itt_group_list; 44 45 #pragma pack(pop) 46 47 #define ITT_GROUP_LIST(varname) \ 48 static __itt_group_list varname[] = { \ 49 { __itt_group_all, "all" }, \ 50 { __itt_group_control, "control" }, \ 51 { __itt_group_thread, "thread" }, \ 52 { __itt_group_mark, "mark" }, \ 53 { __itt_group_sync, "sync" }, \ 54 { __itt_group_fsync, "fsync" }, \ 55 { __itt_group_jit, "jit" }, \ 56 { __itt_group_model, "model" }, \ 57 { __itt_group_counter, "counter" }, \ 58 { __itt_group_frame, "frame" }, \ 59 { __itt_group_stitch, "stitch" }, \ 60 { __itt_group_heap, "heap" }, \ 61 { __itt_group_structure, "structure" }, \ 62 { __itt_group_suppress, "suppress" }, \ 63 { __itt_group_arrays, "arrays" }, \ 64 { __itt_group_none, NULL } \ 65 } 66 67 #endif /* _ITTNOTIFY_TYPES_H_ */ 68