MIBEntryDef.inc 2.6 KB

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