aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-profdata/memprof-basic.test
blob: e15df50bc16577b76933835f1f18394c3f66ab87 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
REQUIRES: x86_64-linux

To update the inputs used below run Inputs/update_memprof_inputs.sh /path/to/updated/clang
RUN: llvm-profdata show --memory %p/Inputs/basic.memprofraw --profiled-binary %p/Inputs/basic.memprofexe -o - | FileCheck %s

We expect 2 MIB entries, 1 each for the malloc calls in the program. Any
additional allocations which do not originate from the main binary are pruned.

CHECK:  MemprofProfile:
CHECK-NEXT:   Summary:
CHECK-NEXT:     Version: 4
CHECK-NEXT:     NumSegments: {{[0-9]+}}
CHECK-NEXT:     NumMibInfo: 2
CHECK-NEXT:     NumAllocFunctions: 1
CHECK-NEXT:     NumStackOffsets: 2
CHECK-NEXT:   Segments:
CHECK-NEXT:   -
CHECK-NEXT:     BuildId: {{[[:xdigit:]]+}}
CHECK-NEXT:     Start: 0x{{[[:xdigit:]]+}}
CHECK-NEXT:     End: 0x{{[[:xdigit:]]+}}
CHECK-NEXT:     Offset: 0x{{[[:xdigit:]]+}}
CHECK-NEXT:   -

CHECK:   Records:
CHECK-NEXT:   -
CHECK-NEXT:     FunctionGUID: {{[0-9]+}}
CHECK-NEXT:     AllocSites:
CHECK-NEXT:     -
CHECK-NEXT:       Callstack:
CHECK-NEXT:       -
CHECK-NEXT:         Function: {{[0-9]+}}
CHECK-NEXT:         SymbolName: main
CHECK-NEXT:         LineOffset: 1
CHECK-NEXT:         Column: 21
CHECK-NEXT:         Inline: 0
CHECK-NEXT:       MemInfoBlock:
CHECK-NEXT:         AllocCount: 1
CHECK-NEXT:         TotalAccessCount: 2
CHECK-NEXT:         MinAccessCount: 2
CHECK-NEXT:         MaxAccessCount: 2
CHECK-NEXT:         TotalSize: 10
CHECK-NEXT:         MinSize: 10
CHECK-NEXT:         MaxSize: 10
CHECK-NEXT:         AllocTimestamp: {{[0-9]+}}
CHECK-NEXT:         DeallocTimestamp: {{[0-9]+}}
CHECK-NEXT:         TotalLifetime: 0
CHECK-NEXT:         MinLifetime: 0
CHECK-NEXT:         MaxLifetime: 0
CHECK-NEXT:         AllocCpuId: {{[0-9]+}}
CHECK-NEXT:         DeallocCpuId: {{[0-9]+}}
CHECK-NEXT:         NumMigratedCpu: 0
CHECK-NEXT:         NumLifetimeOverlaps: 0
CHECK-NEXT:         NumSameAllocCpu: 0
CHECK-NEXT:         NumSameDeallocCpu: 0
CHECK-NEXT:         DataTypeId: {{[0-9]+}}
CHECK-NEXT:         TotalAccessDensity: 20
CHECK-NEXT:         MinAccessDensity: 20
CHECK-NEXT:         MaxAccessDensity: 20
CHECK-NEXT:         TotalLifetimeAccessDensity: 20000
CHECK-NEXT:         MinLifetimeAccessDensity: 20000
CHECK-NEXT:         MaxLifetimeAccessDensity: 20000
CHECK-NEXT:         AccessHistogramSize: 0
CHECK-NEXT:         AccessHistogram: 0
CHECK-NEXT:     -
CHECK-NEXT:       Callstack:
CHECK-NEXT:       -
CHECK-NEXT:         Function: {{[0-9]+}}
CHECK-NEXT:         SymbolName: main
CHECK-NEXT:         LineOffset: 4
CHECK-NEXT:         Column: 15
CHECK-NEXT:         Inline: 0
CHECK-NEXT:       MemInfoBlock:
CHECK-NEXT:         AllocCount: 1
CHECK-NEXT:         TotalAccessCount: 2
CHECK-NEXT:         MinAccessCount: 2
CHECK-NEXT:         MaxAccessCount: 2
CHECK-NEXT:         TotalSize: 10
CHECK-NEXT:         MinSize: 10
CHECK-NEXT:         MaxSize: 10
CHECK-NEXT:         AllocTimestamp: {{[0-9]+}}
CHECK-NEXT:         DeallocTimestamp: {{[0-9]+}}
CHECK-NEXT:         TotalLifetime: 0
CHECK-NEXT:         MinLifetime: 0
CHECK-NEXT:         MaxLifetime: 0
CHECK-NEXT:         AllocCpuId: {{[0-9]+}}
CHECK-NEXT:         DeallocCpuId: {{[0-9]+}}
CHECK-NEXT:         NumMigratedCpu: 0
CHECK-NEXT:         NumLifetimeOverlaps: 0
CHECK-NEXT:         NumSameAllocCpu: 0
CHECK-NEXT:         NumSameDeallocCpu: 0
CHECK-NEXT:         DataTypeId: {{[0-9]+}}
CHECK-NEXT:         TotalAccessDensity: 20
CHECK-NEXT:         MinAccessDensity: 20
CHECK-NEXT:         MaxAccessDensity: 20
CHECK-NEXT:         TotalLifetimeAccessDensity: 20000
CHECK-NEXT:         MinLifetimeAccessDensity: 20000
CHECK-NEXT:         MaxLifetimeAccessDensity: 20000
CHECK-NEXT:         AccessHistogramSize: 0
CHECK-NEXT:         AccessHistogram: 0