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 #ifndef _ITTNOTIFY_TYPES_H_ 11 #define _ITTNOTIFY_TYPES_H_ 12 13 typedef enum ___itt_group_id { 14 __itt_group_none = 0, 15 __itt_group_legacy = 1 << 0, 16 __itt_group_control = 1 << 1, 17 __itt_group_thread = 1 << 2, 18 __itt_group_mark = 1 << 3, 19 __itt_group_sync = 1 << 4, 20 __itt_group_fsync = 1 << 5, 21 __itt_group_jit = 1 << 6, 22 __itt_group_model = 1 << 7, 23 __itt_group_splitter_min = 1 << 7, 24 __itt_group_counter = 1 << 8, 25 __itt_group_frame = 1 << 9, 26 __itt_group_stitch = 1 << 10, 27 __itt_group_heap = 1 << 11, 28 __itt_group_splitter_max = 1 << 12, 29 __itt_group_structure = 1 << 12, 30 __itt_group_suppress = 1 << 13, 31 __itt_group_arrays = 1 << 14, 32 __itt_group_module = 1 << 15, 33 __itt_group_all = -1 34 } __itt_group_id; 35 36 #pragma pack(push, 8) 37 38 typedef struct ___itt_group_list { 39 __itt_group_id id; 40 const char *name; 41 } __itt_group_list; 42 43 #pragma pack(pop) 44 45 #define ITT_GROUP_LIST(varname) \ 46 static __itt_group_list varname[] = {{__itt_group_all, "all"}, \ 47 {__itt_group_control, "control"}, \ 48 {__itt_group_thread, "thread"}, \ 49 {__itt_group_mark, "mark"}, \ 50 {__itt_group_sync, "sync"}, \ 51 {__itt_group_fsync, "fsync"}, \ 52 {__itt_group_jit, "jit"}, \ 53 {__itt_group_model, "model"}, \ 54 {__itt_group_counter, "counter"}, \ 55 {__itt_group_frame, "frame"}, \ 56 {__itt_group_stitch, "stitch"}, \ 57 {__itt_group_heap, "heap"}, \ 58 {__itt_group_structure, "structure"}, \ 59 {__itt_group_suppress, "suppress"}, \ 60 {__itt_group_arrays, "arrays"}, \ 61 {__itt_group_module, "module"}, \ 62 {__itt_group_none, NULL}} 63 64 #endif /* _ITTNOTIFY_TYPES_H_ */ 65