aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/tools/llvm-profdata/memprof-padding-histogram.test
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