blob: 2d0346e7cb259cb6dcaacf64c0f06b0f474a87f1 (
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/padding-histogram.memprofraw --profiled-binary %p/Inputs/padding-histogram.memprofexe -o - | FileCheck %s
We expect 2 different MIBs with histogram values. This test is to make sure we properly deal with padding.
CHECK: MemprofProfile:
CHECK-NEXT: Summary:
CHECK-NEXT: Version: 5
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 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: 3
CHECK-NEXT Column: 10
CHECK-NEXT Inline: 0
CHECK-NEXT MemInfoBlock:
CHECK-NEXT AllocCount: 1
CHECK-NEXT TotalAccessCount: 5
CHECK-NEXT MinAccessCount: 5
CHECK-NEXT MaxAccessCount: 5
CHECK-NEXT TotalSize: 24
CHECK-NEXT MinSize: 24
CHECK-NEXT MaxSize: 24
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: 11
CHECK-NEXT DeallocCpuId: 11
CHECK-NEXT NumMigratedCpu: 0
CHECK-NEXT NumLifetimeOverlaps: 0
CHECK-NEXT NumSameAllocCpu: 0
CHECK-NEXT NumSameDeallocCpu: 0
CHECK-NEXT DataTypeId: 0
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: 3
CHECK-NEXT AccessHistogram: {{[0-9]+}}
CHECK-NEXT AccessHistogramValues: -2 -1 -2
CHECK-NEXT -
CHECK-NEXT Callstack:
CHECK-NEXT -
CHECK-NEXT Function: {{[0-9]+}}
CHECK-NEXT SymbolName: main
CHECK-NEXT LineOffset: 10
CHECK-NEXT Column: 10
CHECK-NEXT Inline: 0
CHECK-NEXT MemInfoBlock:
CHECK-NEXT AllocCount: 1
CHECK-NEXT TotalAccessCount: 4
CHECK-NEXT MinAccessCount: 4
CHECK-NEXT MaxAccessCount: 4
CHECK-NEXT TotalSize: 48
CHECK-NEXT MinSize: 48
CHECK-NEXT MaxSize: 48
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: 11
CHECK-NEXT DeallocCpuId: 11
CHECK-NEXT NumMigratedCpu: 0
CHECK-NEXT NumLifetimeOverlaps: 0
CHECK-NEXT NumSameAllocCpu: 0
CHECK-NEXT NumSameDeallocCpu: 0
CHECK-NEXT DataTypeId: 0
CHECK-NEXT TotalAccessDensity: 8
CHECK-NEXT MinAccessDensity: 8
CHECK-NEXT MaxAccessDensity: 8
CHECK-NEXT TotalLifetimeAccessDensity: 8000
CHECK-NEXT MinLifetimeAccessDensity: 8000
CHECK-NEXT MaxLifetimeAccessDensity: 8000
CHECK-NEXT AccessHistogramSize: 6
CHECK-NEXT AccessHistogram: {{[0-9]+}}
CHECK-NEXT AccessHistogramValues: -2 -0 -0 -0 -1 -1
|