aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-profdata/memprof-padding-histogram.test
blob: 4ba58e3c870d5fa8dfbcc3d9c79c89f39f3a6e33 (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: 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:
CHEC-NEXT    FunctionGUID: {{[0-9]+}}
CHEC-NEXT    AllocSites:
CHEC-NEXT    -
CHEC-NEXT      Callstack:
CHEC-NEXT      -
CHEC-NEXT        Function: {{[0-9]+}}
CHEC-NEXT        SymbolName: main
CHEC-NEXT        LineOffset: 3
CHEC-NEXT        Column: 10
CHEC-NEXT        Inline: 0
CHEC-NEXT      MemInfoBlock:
CHEC-NEXT        AllocCount: 1
CHEC-NEXT        TotalAccessCount: 5
CHEC-NEXT        MinAccessCount: 5
CHEC-NEXT        MaxAccessCount: 5
CHEC-NEXT        TotalSize: 24
CHEC-NEXT        MinSize: 24
CHEC-NEXT        MaxSize: 24
CHEC-NEXT        AllocTimestamp: {{[0-9]+}}
CHEC-NEXT        DeallocTimestamp: {{[0-9]+}}
CHEC-NEXT        TotalLifetime: 0
CHEC-NEXT        MinLifetime: 0
CHEC-NEXT        MaxLifetime: 0
CHEC-NEXT        AllocCpuId: 11
CHEC-NEXT        DeallocCpuId: 11
CHEC-NEXT        NumMigratedCpu: 0
CHEC-NEXT        NumLifetimeOverlaps: 0
CHEC-NEXT        NumSameAllocCpu: 0
CHEC-NEXT        NumSameDeallocCpu: 0
CHEC-NEXT        DataTypeId: 0
CHEC-NEXT        TotalAccessDensity: 20
CHEC-NEXT        MinAccessDensity: 20
CHEC-NEXT        MaxAccessDensity: 20
CHEC-NEXT        TotalLifetimeAccessDensity: 20000
CHEC-NEXT        MinLifetimeAccessDensity: 20000
CHEC-NEXT        MaxLifetimeAccessDensity: 20000
CHEC-NEXT        AccessHistogramSize: 3
CHEC-NEXT        AccessHistogram: {{[0-9]+}}
CHEC-NEXT        AccessHistogramValues: -2 -1 -2
CHEC-NEXT    -
CHEC-NEXT      Callstack:
CHEC-NEXT      -
CHEC-NEXT        Function: {{[0-9]+}}
CHEC-NEXT        SymbolName: main
CHEC-NEXT        LineOffset: 10
CHEC-NEXT        Column: 10
CHEC-NEXT        Inline: 0
CHEC-NEXT      MemInfoBlock:
CHEC-NEXT        AllocCount: 1
CHEC-NEXT        TotalAccessCount: 4
CHEC-NEXT        MinAccessCount: 4
CHEC-NEXT        MaxAccessCount: 4
CHEC-NEXT        TotalSize: 48
CHEC-NEXT        MinSize: 48
CHEC-NEXT        MaxSize: 48
CHEC-NEXT        AllocTimestamp: {{[0-9]+}}
CHEC-NEXT        DeallocTimestamp: {{[0-9]+}}
CHEC-NEXT        TotalLifetime: 0
CHEC-NEXT        MinLifetime: 0
CHEC-NEXT        MaxLifetime: 0
CHEC-NEXT        AllocCpuId: 11
CHEC-NEXT        DeallocCpuId: 11
CHEC-NEXT        NumMigratedCpu: 0
CHEC-NEXT        NumLifetimeOverlaps: 0
CHEC-NEXT        NumSameAllocCpu: 0
CHEC-NEXT        NumSameDeallocCpu: 0
CHEC-NEXT        DataTypeId: 0
CHEC-NEXT        TotalAccessDensity: 8
CHEC-NEXT        MinAccessDensity: 8
CHEC-NEXT        MaxAccessDensity: 8
CHEC-NEXT        TotalLifetimeAccessDensity: 8000
CHEC-NEXT        MinLifetimeAccessDensity: 8000
CHEC-NEXT        MaxLifetimeAccessDensity: 8000
CHEC-NEXT        AccessHistogramSize: 6
CHEC-NEXT        AccessHistogram: {{[0-9]+}}
CHEC-NEXT        AccessHistogramValues: -2 -0 -0 -0 -1 -1