LLVM API Documentation

ittnotify_types.h
Go to the documentation of this file.
00001 /*===-- ittnotify_types.h - JIT Profiling API internal types--------*- C -*-===*
00002  *
00003  *                     The LLVM Compiler Infrastructure
00004  *
00005  * This file is distributed under the University of Illinois Open Source
00006  * License. See LICENSE.TXT for details.
00007  *
00008  *===----------------------------------------------------------------------===*
00009  *
00010  * NOTE: This file comes in a style different from the rest of LLVM
00011  * source base since  this is a piece of code shared from Intel(R)
00012  * products.  Please do not reformat / re-style this code to make
00013  * subsequent merges and contributions from the original source base eaiser.
00014  *
00015  *===----------------------------------------------------------------------===*/
00016 #ifndef _ITTNOTIFY_TYPES_H_
00017 #define _ITTNOTIFY_TYPES_H_
00018 
00019 typedef enum ___itt_group_id
00020 {
00021     __itt_group_none      = 0,
00022     __itt_group_legacy    = 1<<0,
00023     __itt_group_control   = 1<<1,
00024     __itt_group_thread    = 1<<2,
00025     __itt_group_mark      = 1<<3,
00026     __itt_group_sync      = 1<<4,
00027     __itt_group_fsync     = 1<<5,
00028     __itt_group_jit       = 1<<6,
00029     __itt_group_model     = 1<<7,
00030     __itt_group_splitter_min = 1<<7,
00031     __itt_group_counter   = 1<<8,
00032     __itt_group_frame     = 1<<9,
00033     __itt_group_stitch    = 1<<10,
00034     __itt_group_heap      = 1<<11,
00035     __itt_group_splitter_max = 1<<12,
00036     __itt_group_structure = 1<<12,
00037     __itt_group_suppress = 1<<13,
00038     __itt_group_all       = -1
00039 } __itt_group_id;
00040 
00041 #pragma pack(push, 8)
00042 
00043 typedef struct ___itt_group_list
00044 {
00045     __itt_group_id id;
00046     const char*    name;
00047 } __itt_group_list;
00048 
00049 #pragma pack(pop)
00050 
00051 #define ITT_GROUP_LIST(varname) \
00052     static __itt_group_list varname[] = {       \
00053         { __itt_group_all,       "all"       }, \
00054         { __itt_group_control,   "control"   }, \
00055         { __itt_group_thread,    "thread"    }, \
00056         { __itt_group_mark,      "mark"      }, \
00057         { __itt_group_sync,      "sync"      }, \
00058         { __itt_group_fsync,     "fsync"     }, \
00059         { __itt_group_jit,       "jit"       }, \
00060         { __itt_group_model,     "model"     }, \
00061         { __itt_group_counter,   "counter"   }, \
00062         { __itt_group_frame,     "frame"     }, \
00063         { __itt_group_stitch,    "stitch"    }, \
00064         { __itt_group_heap,      "heap"      }, \
00065         { __itt_group_structure, "structure" }, \
00066         { __itt_group_suppress,  "suppress"  }, \
00067         { __itt_group_none,      NULL        }  \
00068     }
00069 
00070 #endif /* _ITTNOTIFY_TYPES_H_ */