Removing dependency on third party library for Intel JIT event support.
[oota-llvm.git] / lib / ExecutionEngine / IntelJITEvents / ittnotify_types.h
1 //===-- ittnotify_types.h -  Intel(R) Performance Analyzer JIT (Just-In-Time) Profiling API internal types.  ---------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 #ifndef _ITTNOTIFY_TYPES_H_
10 #define _ITTNOTIFY_TYPES_H_
11
12 typedef enum ___itt_group_id
13 {
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_all       = -1
32 } __itt_group_id;
33
34 #pragma pack(push, 8)
35
36 typedef struct ___itt_group_list
37 {
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[] = {       \
46         { __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_none,      NULL        }  \
61     }
62
63 #endif /* _ITTNOTIFY_TYPES_H_ */