Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 14 | pmbaty | 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 | |||
| 29 | MIBEntryDef(AllocCount = 1, AllocCount, uint32_t) |
||
| 30 | MIBEntryDef(TotalAccessCount = 2, TotalAccessCount, uint64_t) |
||
| 31 | MIBEntryDef(MinAccessCount = 3, MinAccessCount, uint64_t) |
||
| 32 | MIBEntryDef(MaxAccessCount = 4, MaxAccessCount, uint64_t) |
||
| 33 | MIBEntryDef(TotalSize = 5, TotalSize, uint64_t) |
||
| 34 | MIBEntryDef(MinSize = 6, MinSize, uint32_t) |
||
| 35 | MIBEntryDef(MaxSize = 7, MaxSize, uint32_t) |
||
| 36 | MIBEntryDef(AllocTimestamp = 8, AllocTimestamp, uint32_t) |
||
| 37 | MIBEntryDef(DeallocTimestamp = 9, DeallocTimestamp, uint32_t) |
||
| 38 | MIBEntryDef(TotalLifetime = 10, TotalLifetime, uint64_t) |
||
| 39 | MIBEntryDef(MinLifetime = 11, MinLifetime, uint32_t) |
||
| 40 | MIBEntryDef(MaxLifetime = 12, MaxLifetime, uint32_t) |
||
| 41 | MIBEntryDef(AllocCpuId = 13, AllocCpuId, uint32_t) |
||
| 42 | MIBEntryDef(DeallocCpuId = 14, DeallocCpuId, uint32_t) |
||
| 43 | MIBEntryDef(NumMigratedCpu = 15, NumMigratedCpu, uint32_t) |
||
| 44 | MIBEntryDef(NumLifetimeOverlaps = 16, NumLifetimeOverlaps, uint32_t) |
||
| 45 | MIBEntryDef(NumSameAllocCpu = 17, NumSameAllocCpu, uint32_t) |
||
| 46 | MIBEntryDef(NumSameDeallocCpu = 18, NumSameDeallocCpu, uint32_t) |
||
| 47 | MIBEntryDef(DataTypeId = 19, DataTypeId, uint64_t) |
||
| 48 | MIBEntryDef(TotalAccessDensity = 20, TotalAccessDensity, uint64_t) |
||
| 49 | MIBEntryDef(MinAccessDensity = 21, MinAccessDensity, uint32_t) |
||
| 50 | MIBEntryDef(MaxAccessDensity = 22, MaxAccessDensity, uint32_t) |
||
| 51 | MIBEntryDef(TotalLifetimeAccessDensity = 23, TotalLifetimeAccessDensity, uint64_t) |
||
| 52 | MIBEntryDef(MinLifetimeAccessDensity = 24, MinLifetimeAccessDensity, uint32_t) |
||
| 53 | MIBEntryDef(MaxLifetimeAccessDensity = 25, MaxLifetimeAccessDensity, uint32_t) |