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_all = -1 33 } __itt_group_id; 34 35 #pragma pack(push, 8) 36 37 typedef struct ___itt_group_list { 38 __itt_group_id id; 39 const char *name; 40 } __itt_group_list; 41 42 #pragma pack(pop) 43 44 #define ITT_GROUP_LIST(varname) \ 45 static __itt_group_list varname[] = {{__itt_group_all, "all"}, \ 46 {__itt_group_control, "control"}, \ 47 {__itt_group_thread, "thread"}, \ 48 {__itt_group_mark, "mark"}, \ 49 {__itt_group_sync, "sync"}, \ 50 {__itt_group_fsync, "fsync"}, \ 51 {__itt_group_jit, "jit"}, \ 52 {__itt_group_model, "model"}, \ 53 {__itt_group_counter, "counter"}, \ 54 {__itt_group_frame, "frame"}, \ 55 {__itt_group_stitch, "stitch"}, \ 56 {__itt_group_heap, "heap"}, \ 57 {__itt_group_structure, "structure"}, \ 58 {__itt_group_suppress, "suppress"}, \ 59 {__itt_group_arrays, "arrays"}, \ 60 {__itt_group_none, NULL}} 61 62 #endif /* _ITTNOTIFY_TYPES_H_ */ 63