xref: /llvm-project/llvm/test/tools/llvm-profdata/memprof-pic.test (revision 30b93db5476e3ae2efdaba25fb53fcc3c081da77)
1REQUIRES: x86_64-linux
2
3Since the profile contains virtual addresses for the callstack,
4we do not expect the raw binary profile to be deterministic. The
5summary should be deterministic apart from changes to the shared
6libraries linked in which could change the number of segments
7recorded.
8
9To update the inputs used below run Inputs/update_memprof_inputs.sh /path/to/updated/clang
10RUN: llvm-profdata show --memory %p/Inputs/pic.memprofraw --profiled-binary %p/Inputs/pic.memprofexe -o - 2>&1 | FileCheck %s
11
12CHECK:  MemprofProfile:
13CHECK-NEXT:   Summary:
14CHECK-NEXT:     Version: 4
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
67
68CHECK-NEXT:     -
69CHECK-NEXT:       Callstack:
70CHECK-NEXT:       -
71CHECK-NEXT:         Function: {{[0-9]+}}
72CHECK-NEXT:         SymbolName: main
73CHECK-NEXT:         LineOffset: 4
74CHECK-NEXT:         Column: 15
75CHECK-NEXT:         Inline: 0
76CHECK-NEXT:       MemInfoBlock:
77CHECK-NEXT:         AllocCount: 1
78CHECK-NEXT:         TotalAccessCount: 2
79CHECK-NEXT:         MinAccessCount: 2
80CHECK-NEXT:         MaxAccessCount: 2
81CHECK-NEXT:         TotalSize: 10
82CHECK-NEXT:         MinSize: 10
83CHECK-NEXT:         MaxSize: 10
84CHECK-NEXT:         AllocTimestamp: {{[0-9]+}}
85CHECK-NEXT:         DeallocTimestamp: {{[0-9]+}}
86CHECK-NEXT:         TotalLifetime: 0
87CHECK-NEXT:         MinLifetime: 0
88CHECK-NEXT:         MaxLifetime: 0
89CHECK-NEXT:         AllocCpuId: {{[0-9]+}}
90CHECK-NEXT:         DeallocCpuId: {{[0-9]+}}
91CHECK-NEXT:         NumMigratedCpu: 0
92CHECK-NEXT:         NumLifetimeOverlaps: 0
93CHECK-NEXT:         NumSameAllocCpu: 0
94CHECK-NEXT:         NumSameDeallocCpu: 0
95CHECK-NEXT:         DataTypeId: {{[0-9]+}}
96CHECK-NEXT:         TotalAccessDensity: 20
97CHECK-NEXT:         MinAccessDensity: 20
98CHECK-NEXT:         MaxAccessDensity: 20
99CHECK-NEXT:         TotalLifetimeAccessDensity: 20000
100CHECK-NEXT:         MinLifetimeAccessDensity: 20000
101CHECK-NEXT:         MaxLifetimeAccessDensity: 20000
102CHECK-NEXT:         AccessHistogramSize: 0
103CHECK-NEXT:         AccessHistogram: 0