1# RUN: llvm-profdata show -memop-sizes -ic-targets -function=foo %s | FileCheck %s --check-prefixes=MEMOP,MEMOP_SUM,ICALL,ICALL_SUM
2# RUN: llvm-profdata show -memop-sizes -ic-targets -counts -text -function=foo %s | FileCheck %s --check-prefixes=TEXT,MEMOP_TEXT,ICALL_TEXT
3# RUN: llvm-profdata merge -o %t.profdata  %s
4# RUN: llvm-profdata show -memop-sizes -ic-targets -function=foo %t.profdata | FileCheck %s --check-prefixes=MEMOP,MEMOP_SUM,ICALL,ICALL_SUM
5# RUN: llvm-profdata merge -o %t.proftext -text %s
6# RUN: llvm-profdata show -memop-sizes -ic-targets -function=foo %t.proftext| FileCheck %s --check-prefixes=MEMOP,MEMOP_SUM,ICALL,ICALL_SUM
7
8# IR level Instrumentation Flag
9:ir
10ic1
11# Func Hash:
1210
13# Num Counters:
142
15# Counter Values:
16999000
17359800
18
19ic2
20# Func Hash:
2110
22# Num Counters:
232
24# Counter Values:
251001000
26360200
27
28foo
29# Func Hash:
3035277121310
31# Num Counters:
323
33# Counter Values:
3420
35556
361
37# Num Value Kinds:
382
39# Value Kind IPVK_IndirectCallTarget
400
41# NumSites
423
43# Values for each site
440
452
46ic2:1000
47ic1:100
481
49ic2:20000
50#ICALL: Indirect Target Results:
51#ICALL-NEXT:  [ 1, ic2, 1000 ]
52#ICALL-NEXT:  [ 1, ic1, 100 ]
53#ICALL-NEXT:  [ 2, ic2, 20000 ]
54
55# ValueKind = IPVK_MemOPSize:
561
57# NumValueSites:
581
599
601:99
612:88
623:77
639:72
644:66
655:55
666:44
677:33
688:22
69
70#MEMOP: Memory Intrinsic Size Results:
71#MEMOP-NEXT:  [ 0, 1, 99 ]
72#MEMOP-NEXT:  [ 0, 2, 88 ]
73#MEMOP-NEXT:  [ 0, 3, 77 ]
74#MEMOP-NEXT:  [ 0, 9, 72 ]
75#MEMOP-NEXT:  [ 0, 4, 66 ]
76#MEMOP-NEXT:  [ 0, 5, 55 ]
77#MEMOP-NEXT:  [ 0, 6, 44 ]
78#MEMOP-NEXT:  [ 0, 7, 33 ]
79#MEMOP-NEXT:  [ 0, 8, 22 ]
80
81#ICALL_SUM: Statistics for indirect call sites profile:
82#ICALL_SUM: Total number of sites: 3
83#ICALL_SUM: Total number of sites with values: 2
84#ICALL_SUM: Total number of profiled values: 3
85#ICALL_SUM: Value sites histogram:
86#ICALL_SUM:     NumTargets, SiteCount
87#ICALL_SUM:         1, 1
88#ICALL_SUM:         2, 1
89
90#MEMOP_SUM: Statistics for memory intrinsic calls sizes profile:
91#MEMOP_SUM: Total number of sites: 1
92#MEMOP_SUM: Total number of sites with values: 1
93#MEMOP_SUM: Total number of profiled values: 9
94#MEMOP_SUM: Value sites histogram:
95#MEMOP_SUM:	NumTargets, SiteCount
96#MEMOP_SUM:	9, 1
97
98#TEXT: # Num Value Kinds:
99#TEXT: 2
100#ICALL_TEXT: # ValueKind = IPVK_IndirectCallTarget:
101#ICALL_TEXT: 0
102#ICALL_TEXT: # NumValueSites:
103#ICALL_TEXT: 3
104#ICALL_TEXT: 0
105#ICALL_TEXT: 2
106#ICALL_TEXT: ic2:1000
107#ICALL_TEXT: ic1:100
108#ICALL_TEXT: 1
109#ICALL_TEXT: ic2:20000
110#MEMOP_TEXT: # ValueKind = IPVK_MemOPSize:
111#MEMOP_TEXT: 1
112#MEMOP_TEXT: # NumValueSites:
113#MEMOP_TEXT: 1
114#MEMOP_TEXT: 9
115#MEMOP_TEXT: 1:99
116#MEMOP_TEXT: 2:88
117#MEMOP_TEXT: 3:77
118#MEMOP_TEXT: 9:72
119#MEMOP_TEXT: 4:66
120#MEMOP_TEXT: 5:55
121#MEMOP_TEXT: 6:44
122#MEMOP_TEXT: 7:33
123#MEMOP_TEXT: 8:22
124