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