1/*===-- MemEntryDef.inc - MemProf profiling runtime macros -*- 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 * This file defines the macros for memprof profiling data structures. 10 * Eg. usage to define the memprof meminfoblock struct: 11 * 12 * struct MemInfoBlock { 13 * #define MIBEntryDef(NameTag, Name, Type) Type Name; 14 * #include MIBEntryDef.inc 15 * #undef MIBEntryDef 16 * }; 17 * 18 * This file has two identical copies. The primary copy lives in LLVM and 19 * the other one sits in compiler-rt/include/profile directory. To make changes 20 * in this file, first modify the primary copy and copy it over to compiler-rt. 21 * Testing of any change in this file can start only after the two copies are 22 * synced up. 23 * 24\*===----------------------------------------------------------------------===*/ 25#ifndef MIBEntryDef 26#define MIBEntryDef(NameTag, Name, Type) 27#endif 28 29MIBEntryDef(AllocCount = 1, AllocCount, uint32_t) 30MIBEntryDef(TotalAccessCount = 2, TotalAccessCount, uint64_t) 31MIBEntryDef(MinAccessCount = 3, MinAccessCount, uint64_t) 32MIBEntryDef(MaxAccessCount = 4, MaxAccessCount, uint64_t) 33MIBEntryDef(TotalSize = 5, TotalSize, uint64_t) 34MIBEntryDef(MinSize = 6, MinSize, uint32_t) 35MIBEntryDef(MaxSize = 7, MaxSize, uint32_t) 36MIBEntryDef(AllocTimestamp = 8, AllocTimestamp, uint32_t) 37MIBEntryDef(DeallocTimestamp = 9, DeallocTimestamp, uint32_t) 38MIBEntryDef(TotalLifetime = 10, TotalLifetime, uint64_t) 39MIBEntryDef(MinLifetime = 11, MinLifetime, uint32_t) 40MIBEntryDef(MaxLifetime = 12, MaxLifetime, uint32_t) 41MIBEntryDef(AllocCpuId = 13, AllocCpuId, uint32_t) 42MIBEntryDef(DeallocCpuId = 14, DeallocCpuId, uint32_t) 43MIBEntryDef(NumMigratedCpu = 15, NumMigratedCpu, uint32_t) 44MIBEntryDef(NumLifetimeOverlaps = 16, NumLifetimeOverlaps, uint32_t) 45MIBEntryDef(NumSameAllocCpu = 17, NumSameAllocCpu, uint32_t) 46MIBEntryDef(NumSameDeallocCpu = 18, NumSameDeallocCpu, uint32_t) 47MIBEntryDef(DataTypeId = 19, DataTypeId, uint64_t) 48MIBEntryDef(TotalAccessDensity = 20, TotalAccessDensity, uint64_t) 49MIBEntryDef(MinAccessDensity = 21, MinAccessDensity, uint32_t) 50MIBEntryDef(MaxAccessDensity = 22, MaxAccessDensity, uint32_t) 51MIBEntryDef(TotalLifetimeAccessDensity = 23, TotalLifetimeAccessDensity, uint64_t) 52MIBEntryDef(MinLifetimeAccessDensity = 24, MinLifetimeAccessDensity, uint32_t) 53MIBEntryDef(MaxLifetimeAccessDensity = 25, MaxLifetimeAccessDensity, uint32_t) 54MIBEntryDef(AccessHistogramSize = 26, AccessHistogramSize, uint32_t) 55MIBEntryDef(AccessHistogram = 27, AccessHistogram, uintptr_t)