xref: /llvm-project/llvm/test/tools/llvm-profdata/memprof-basic_v3.test (revision 30b93db5476e3ae2efdaba25fb53fcc3c081da77)
1REQUIRES: x86_64-linux
2
3This is a copy of memprof-basic.test with slight changes to check that we can still read v3 of memprofraw.
4
5Inputs cannot and should not be updated.
6
7RUN: llvm-profdata show --memory %p/Inputs/basic_v3.memprofraw --profiled-binary %p/Inputs/basic_v3.memprofexe -o - | FileCheck %s
8
9We expect 2 MIB entries, 1 each for the malloc calls in the program. Any
10additional allocations which do not originate from the main binary are pruned.
11
12CHECK:  MemprofProfile:
13CHECK-NEXT:   Summary:
14CHECK-NEXT:     Version: 3
15CHECK-NEXT:     NumSegments: {{[0-9]+}}
16CHECK-NEXT:     NumMibInfo: 2
17CHECK-NEXT:     NumAllocFunctions: 1
18CHECK-NEXT:     NumStackOffsets: 2
19CHECK-NEXT:   Segments:
20CHECK-NEXT:   -
21CHECK-NEXT:     BuildId: {{[[:xdigit:]]+}}
22CHECK-NEXT:     Start: 0x{{[[:xdigit:]]+}}
23CHECK-NEXT:     End: 0x{{[[:xdigit:]]+}}
24CHECK-NEXT:     Offset: 0x{{[[:xdigit:]]+}}
25CHECK-NEXT:   -
26
27CHECK:   Records:
28CHECK-NEXT:   -
29CHECK-NEXT:     FunctionGUID: {{[0-9]+}}
30CHECK-NEXT:     AllocSites:
31CHECK-NEXT:     -
32CHECK-NEXT:       Callstack:
33CHECK-NEXT:       -
34CHECK-NEXT:         Function: {{[0-9]+}}
35CHECK-NEXT:         SymbolName: main
36CHECK-NEXT:         LineOffset: 1
37CHECK-NEXT:         Column: 21
38CHECK-NEXT:         Inline: 0
39CHECK-NEXT:       MemInfoBlock:
40CHECK-NEXT:         AllocCount: 1
41CHECK-NEXT:         TotalAccessCount: 2
42CHECK-NEXT:         MinAccessCount: 2
43CHECK-NEXT:         MaxAccessCount: 2
44CHECK-NEXT:         TotalSize: 10
45CHECK-NEXT:         MinSize: 10
46CHECK-NEXT:         MaxSize: 10
47CHECK-NEXT:         AllocTimestamp: {{[0-9]+}}
48CHECK-NEXT:         DeallocTimestamp: {{[0-9]+}}
49CHECK-NEXT:         TotalLifetime: 0
50CHECK-NEXT:         MinLifetime: 0
51CHECK-NEXT:         MaxLifetime: 0
52CHECK-NEXT:         AllocCpuId: {{[0-9]+}}
53CHECK-NEXT:         DeallocCpuId: {{[0-9]+}}
54CHECK-NEXT:         NumMigratedCpu: 0
55CHECK-NEXT:         NumLifetimeOverlaps: 0
56CHECK-NEXT:         NumSameAllocCpu: 0
57CHECK-NEXT:         NumSameDeallocCpu: 0
58CHECK-NEXT:         DataTypeId: {{[0-9]+}}
59CHECK-NEXT:         TotalAccessDensity: 20
60CHECK-NEXT:         MinAccessDensity: 20
61CHECK-NEXT:         MaxAccessDensity: 20
62CHECK-NEXT:         TotalLifetimeAccessDensity: 20000
63CHECK-NEXT:         MinLifetimeAccessDensity: 20000
64CHECK-NEXT:         MaxLifetimeAccessDensity: 20000
65CHECK-NEXT:         AccessHistogramSize: 0
66CHECK-NEXT:         AccessHistogram: 0
67CHECK-NEXT:     -
68CHECK-NEXT:       Callstack:
69CHECK-NEXT:       -
70CHECK-NEXT:         Function: {{[0-9]+}}
71CHECK-NEXT:         SymbolName: main
72CHECK-NEXT:         LineOffset: 4
73CHECK-NEXT:         Column: 15
74CHECK-NEXT:         Inline: 0
75CHECK-NEXT:       MemInfoBlock:
76CHECK-NEXT:         AllocCount: 1
77CHECK-NEXT:         TotalAccessCount: 2
78CHECK-NEXT:         MinAccessCount: 2
79CHECK-NEXT:         MaxAccessCount: 2
80CHECK-NEXT:         TotalSize: 10
81CHECK-NEXT:         MinSize: 10
82CHECK-NEXT:         MaxSize: 10
83CHECK-NEXT:         AllocTimestamp: {{[0-9]+}}
84CHECK-NEXT:         DeallocTimestamp: {{[0-9]+}}
85CHECK-NEXT:         TotalLifetime: 0
86CHECK-NEXT:         MinLifetime: 0
87CHECK-NEXT:         MaxLifetime: 0
88CHECK-NEXT:         AllocCpuId: {{[0-9]+}}
89CHECK-NEXT:         DeallocCpuId: {{[0-9]+}}
90CHECK-NEXT:         NumMigratedCpu: 0
91CHECK-NEXT:         NumLifetimeOverlaps: 0
92CHECK-NEXT:         NumSameAllocCpu: 0
93CHECK-NEXT:         NumSameDeallocCpu: 0
94CHECK-NEXT:         DataTypeId: {{[0-9]+}}
95CHECK-NEXT:         TotalAccessDensity: 20
96CHECK-NEXT:         MinAccessDensity: 20
97CHECK-NEXT:         MaxAccessDensity: 20
98CHECK-NEXT:         TotalLifetimeAccessDensity: 20000
99CHECK-NEXT:         MinLifetimeAccessDensity: 20000
100CHECK-NEXT:         MaxLifetimeAccessDensity: 20000
101CHECK-NEXT:         AccessHistogramSize: 0
102CHECK-NEXT:         AccessHistogram: 0