6
6
; RUN: opt -module-summary %s -o %t.bc
7
7
; RUN: llvm-bcanalyzer -dump %t.bc | FileCheck %s -check-prefixes=BC
8
8
9
+ ; RUN: opt -module-summary %p/Inputs/thinlto-function-summary-paramaccess.ll -o %t2.bc
10
+
11
+ ; RUN: llvm-lto -thinlto -o %t %t.bc %t2.bc
12
+
13
+ ; RUN: llvm-dis -o - %t.thinlto.bc | FileCheck %s --check-prefix=DCO
14
+ ; Round trip it through llvm-as
15
+ ; RUN: llvm-dis -o - %t.thinlto.bc | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=DCO
16
+
17
+ ; RUN: llvm-bcanalyzer -dump %t.thinlto.bc | FileCheck %s --check-prefix=COMBINED
18
+
9
19
; RUN: llvm-dis -o - %t.bc | FileCheck %s --check-prefix=DIS
10
20
; Round trip it through llvm-as
11
21
; RUN: llvm-dis -o - %t.bc | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=DIS
18
28
; RUN: llvm-dis -o - %t.bc | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=DIS
19
29
20
30
; DIS: ^0 = module: (path: "{{.*}}", hash: ({{.*}}))
31
+ ; DCO: ^0 = module: (path: "{{.*}}", hash: ({{.*}}))
32
+ ; DCO: ^1 = module: (path: "{{.*}}", hash: ({{.*}}))
33
+
21
34
; ModuleID = 'thinlto-function-summary-paramaccess.ll'
22
35
target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
23
36
target triple = "aarch64-unknown-linux"
@@ -29,13 +42,16 @@ attributes #0 = { noinline sanitize_memtag "target-features"="+mte,+neon" }
29
42
; BC-NEXT: <FLAGS
30
43
31
44
; DIS-DAG: = gv: (name: "Callee") ; guid = 900789920918863816
32
- declare void @Callee (i8* %p )
45
+ ; DCO-DAG: = gv: (guid: 900789920918863816, summaries: (function: (module: ^1, flags: ({{[^()]+}}), insts: 1, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [0, -1]))))){{$}}
46
+ declare void @Callee (i8* %p )
33
47
34
48
; DIS-DAG: = gv: (name: "Callee2") ; guid = 72710208629861106
35
- declare void @Callee2 (i32 %x , i8* %p )
49
+ ; DCO-DAG: = gv: (guid: 72710208629861106, summaries: (function: (module: ^1, flags: ({{[^()]+}}), insts: 1, funcFlags: ({{[^()]+}}), params: ((param: 1, offset: [0, -1]))))){{$}}
50
+ declare void @Callee2 (i32 %x , i8* %p )
36
51
37
- ; BC-NEXT : <PERMODULE
52
+ ; BC: <PERMODULE
38
53
; DIS-DAG: = gv: (name: "NoParam", summaries: {{.*}} guid = 10287433468618421703
54
+ ; DCO-DAG: = gv: (guid: 10287433468618421703, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 1, funcFlags: ({{[^()]+}})))){{$}}
39
55
define void @NoParam () #0 {
40
56
entry:
41
57
ret void
44
60
; SSI-LABEL: function 'IntParam'
45
61
; BC-NEXT: <PERMODULE
46
62
; DIS-DAG: = gv: (name: "IntParam", summaries: {{.*}} guid = 13164714711077064397
63
+ ; DCO-DAG: = gv: (guid: 13164714711077064397, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 1, funcFlags: ({{[^()]+}})))){{$}}
47
64
define void @IntParam (i32 %x ) #0 {
48
65
entry:
49
66
ret void
54
71
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=0/>
55
72
; BC-NEXT: <PERMODULE
56
73
; DIS-DAG: = gv: (name: "WriteNone", summaries: {{.*}} params: ((param: 0, offset: [0, -1]))))) ; guid = 15261848357689602442
74
+ ; DCO-DAG: = gv: (guid: 15261848357689602442, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 1, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [0, -1]))))){{$}}
57
75
define void @WriteNone (i8* %p ) #0 {
58
76
entry:
59
77
ret void
64
82
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0/>
65
83
; BC-NEXT: <PERMODULE
66
84
; DIS-DAG: = gv: (name: "Write0", summaries: {{.*}} params: ((param: 0, offset: [0, 0]))))) ; guid = 5540766144860458461
85
+ ; DCO-DAG: = gv: (guid: 5540766144860458461, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 2, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [0, 0]))))){{$}}
67
86
define void @Write0 (i8* %p ) #0 {
68
87
entry:
69
88
store i8 0 , i8* %p
75
94
; BC-NEXT: <PARAM_ACCESS op0=0 op1=24 op2=32 op3=0/>
76
95
; BC-NEXT: <PERMODULE
77
96
; DIS-DAG: = gv: (name: "WriteOffset", summaries: {{.*}} params: ((param: 0, offset: [12, 15]))))) ; guid = 1417835201204712148
97
+ ; DCO-DAG: = gv: (guid: 1417835201204712148, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 4, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [12, 15]))))){{$}}
78
98
define void @WriteOffset (i8* %p ) #0 {
79
99
entry:
80
100
%0 = bitcast i8* %p to i32*
@@ -88,6 +108,7 @@ entry:
88
108
; BC-NEXT: <PARAM_ACCESS op0=0 op1=113 op2=97 op3=0/>
89
109
; BC-NEXT: <PERMODULE
90
110
; DIS-DAG: = gv: (name: "WriteNegOffset", summaries: {{.*}} params: ((param: 0, offset: [-56, -49]))))) ; guid = 11847411556962310546
111
+ ; DCO-DAG: = gv: (guid: 11847411556962310546, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 4, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [-56, -49]))))){{$}}
91
112
define void @WriteNegOffset (i8* %p ) #0 {
92
113
entry:
93
114
%0 = bitcast i8* %p to i64*
@@ -101,6 +122,7 @@ entry:
101
122
; BC-NEXT: <PARAM_ACCESS op0=0 op1=1 op2=-2 op3=0/>
102
123
; BC-NEXT: <PERMODULE
103
124
; DIS-DAG: = gv: (name: "WriteAnyOffset", summaries: {{.*}} params: ((param: 0, offset: [-9223372036854775808, 9223372036854775806]))))) ; guid = 16159595372881907190
125
+ ; DCO-DAG: = gv: (guid: 16159595372881907190, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 4, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [-9223372036854775808, 9223372036854775806]))))){{$}}
104
126
define void @WriteAnyOffset (i8* %p , i64 %i ) #0 {
105
127
entry:
106
128
%0 = bitcast i8* %p to i24*
@@ -115,6 +137,7 @@ entry:
115
137
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0 op4=1 op5=0 op6=8 op7=0/>
116
138
; BC-NEXT: <PERMODULE
117
139
; DIS-DAG: = gv: (name: "WritePQ", summaries: {{.*}} params: ((param: 0, offset: [0, 0]), (param: 1, offset: [0, 3]))))) ; guid = 6187077497926519485
140
+ ; DCO-DAG: = gv: (guid: 6187077497926519485, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 3, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [0, 0]), (param: 1, offset: [0, 3]))))){{$}}
118
141
define void @WritePQ (i8* %p , i32* %q ) #0 {
119
142
entry:
120
143
store i8 5 , i8* %p
@@ -128,6 +151,7 @@ entry:
128
151
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0 op4=2 op5=0 op6=8 op7=0/>
129
152
; BC-NEXT: <PERMODULE
130
153
; DIS-DAG: = gv: (name: "WriteTwoPIQ", summaries: {{.*}} params: ((param: 0, offset: [0, 0]), (param: 2, offset: [0, 3]))))) ; guid = 2949024673554120799
154
+ ; DCO-DAG: = gv: (guid: 2949024673554120799, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 3, funcFlags: ({{[^()]+}}), params: ((param: 0, offset: [0, 0]), (param: 2, offset: [0, 3]))))){{$}}
131
155
define void @WriteTwoPIQ (i8* %p , i32 %i , i32* %q ) #0 {
132
156
entry:
133
157
store i8 7 , i8* %p
@@ -140,6 +164,7 @@ entry:
140
164
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE:-?[0-9]+]] op6=0 op7=2/>
141
165
; BC-NEXT: <PERMODULE
142
166
; DIS-DAG: = gv: (name: "Call", summaries: {{.*}} calls: ((callee: ^{{.*}})), params: ((param: 0, offset: [0, -1], calls: ((callee: ^{{.*}}, param: 0, offset: [0, 0]))))))) ; guid = 8411925997558855107
167
+ ; DCO-DAG: = gv: (guid: 8411925997558855107, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 2, funcFlags: ({{[^()]+}}), calls: ((callee: ^[[CALLEE:.]])), params: ((param: 0, offset: [0, -1], calls: ((callee: ^[[CALLEE]], param: 0, offset: [0, 0]))))))){{$}}
143
168
define void @Call (i8* %p ) #0 {
144
169
entry:
145
170
call void @Callee (i8* %p )
@@ -151,6 +176,7 @@ entry:
151
176
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE]] op6=4 op7=6/>
152
177
; BC-NEXT: <PERMODULE
153
178
; DIS-DAG: = gv: (name: "CallOffset", summaries: {{.*}} calls: ((callee: ^{{.*}})), params: ((param: 0, offset: [0, -1], calls: ((callee: ^{{.*}}, param: 0, offset: [2, 2]))))))) ; guid = 1075564720951610524
179
+ ; DCO-DAG: = gv: (guid: 1075564720951610524, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 3, funcFlags: ({{[^()]+}}), calls: ((callee: ^[[CALLEE:.]])), params: ((param: 0, offset: [0, -1], calls: ((callee: ^[[CALLEE]], param: 0, offset: [2, 2]))))))){{$}}
154
180
define void @CallOffset (i8* %p ) #0 {
155
181
entry:
156
182
%p1 = getelementptr i8 , i8* %p , i64 2
@@ -163,6 +189,7 @@ entry:
163
189
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE]] op6=1431 op7=1429/>
164
190
; BC-NEXT: <PERMODULE
165
191
; DIS-DAG: = gv: (name: "CallNegOffset", summaries: {{.*}} calls: ((callee: ^{{.*}})), params: ((param: 0, offset: [0, -1], calls: ((callee: ^{{.*}}, param: 0, offset: [-715, -715]))))))) ; guid = 16532891468562335146
192
+ ; DCO-DAG: = gv: (guid: 16532891468562335146, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 3, funcFlags: ({{[^()]+}}), calls: ((callee: ^[[CALLEE:.]])), params: ((param: 0, offset: [0, -1], calls: ((callee: ^[[CALLEE]], param: 0, offset: [-715, -715]))))))){{$}}
166
193
define void @CallNegOffset (i8* %p ) #0 {
167
194
entry:
168
195
%p1 = getelementptr i8 , i8* %p , i64 -715
@@ -174,6 +201,7 @@ entry:
174
201
; SSI-LABEL: for function 'CallAnyOffset'
175
202
; SSI: p[]: empty-set, @Callee(arg0, full-set)
176
203
; DIS-DAG: = gv: (name: "CallAnyOffset", summaries: {{.*}} calls: ((callee: ^{{.*}}))))) ; guid = 4179978066780831873
204
+ ; DCO-DAG: = gv: (guid: 4179978066780831873, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 3, funcFlags: ({{[^()]+}}), calls: ((callee: ^[[CALLEE:.]]))))){{$}}
177
205
define void @CallAnyOffset (i8* %p , i64 %i ) #0 {
178
206
entry:
179
207
%p1 = getelementptr i8 , i8* %p , i64 %i
@@ -186,6 +214,7 @@ entry:
186
214
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=3 op4=0 op5=[[CALLEE]] op6=1431 op7=1429 op8=0 op9=[[CALLEE]] op10=67 op11=65 op12=0 op13=[[CALLEE]] op14=248 op15=250/>
187
215
; BC-NEXT: <PERMODULE
188
216
; DIS-DAG: = gv: (name: "CallMany", summaries: {{.*}} calls: ((callee: ^{{.*}})), params: ((param: 0, offset: [0, -1], calls: ((callee: ^{{.*}}, param: 0, offset: [-715, -715]), (callee: ^{{.*}}, param: 0, offset: [-33, -33]), (callee: ^{{.*}}, param: 0, offset: [124, 124]))))))) ; guid = 17150418543861409076
217
+ ; DCO-DAG: = gv: (guid: 17150418543861409076, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 7, funcFlags: ({{[^()]+}}), calls: ((callee: ^[[CALLEE:.]])), params: ((param: 0, offset: [0, -1], calls: ((callee: ^[[CALLEE]], param: 0, offset: [-715, -715]), (callee: ^[[CALLEE]], param: 0, offset: [-33, -33]), (callee: ^[[CALLEE]], param: 0, offset: [124, 124]))))))){{$}}
189
218
define void @CallMany (i8* %p ) #0 {
190
219
entry:
191
220
%p0 = getelementptr i8 , i8* %p , i64 -715
@@ -205,6 +234,7 @@ entry:
205
234
; BC-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=3 op4=0 op5=[[CALLEE]] op6=1431 op7=1429 op8=1 op9=[[CALLEE2:-?[0-9]+]] op10=67 op11=65 op12=0 op13=[[CALLEE]] op14=248 op15=250/>
206
235
; BC-NEXT: <PERMODULE
207
236
; DIS-DAG: = gv: (name: "CallMany2", summaries: {{.*}} calls: ((callee: ^{{.*}}), (callee: ^{{.*}})), params: ((param: 0, offset: [0, -1], calls: ((callee: ^{{.*}}, param: 0, offset: [-715, -715]), (callee: ^{{.*}}, param: 1, offset: [-33, -33]), (callee: ^{{.*}}, param: 0, offset: [124, 124]))))))) ; guid = 16654048340802466690
237
+ ; DCO-DAG: = gv: (guid: 16654048340802466690, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 7, funcFlags: ({{[^()]+}}), calls: ((callee: ^{{[0-9]+}}), (callee: ^{{[0-9]+}})), params: ((param: 0, offset: [0, -1], calls: ((callee: ^{{[0-9]+}}, param: 0, offset: [-715, -715]), (callee: ^{{[0-9]+}}, param: 1, offset: [-33, -33]), (callee: ^{{[0-9]+}}, param: 0, offset: [124, 124]))))))){{$}}
208
238
define void @CallMany2 (i8* %p ) #0 {
209
239
entry:
210
240
%p0 = getelementptr i8 , i8* %p , i64 -715
@@ -223,6 +253,7 @@ entry:
223
253
; SSI: p[]: full-set, @Callee(arg0, [-715,-714)), @Callee(arg0, [-33,-32)), @Callee(arg0, [124,125))
224
254
; BC-NEXT: <PERMODULE
225
255
; DIS-DAG: = gv: (name: "CallManyUnsafe", summaries: {{.*}} calls: ((callee: ^{{.*}}))))) ; guid = 15696680128757863301
256
+ ; DCO-DAG: = gv: (guid: 15696680128757863301, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 9, funcFlags: ({{[^()]+}}), calls: ((callee: ^[[CALLEE:.]]))))){{$}}
226
257
define void @CallManyUnsafe (i8* %p , i64 %i ) #0 {
227
258
entry:
228
259
%pi = getelementptr i8 , i8* %p , i64 %i
@@ -244,6 +275,7 @@ entry:
244
275
; SSI: p[]: full-set
245
276
; BC-NEXT: <PERMODULE
246
277
; DIS-DAG: = gv: (name: "Ret", summaries: {{.*}} ; guid = 6707380319572075172
278
+ ; DCO-DAG: = gv: (guid: 6707380319572075172, summaries: (function: (module: ^0, flags: ({{[^()]+}}), insts: 1, funcFlags: ({{[^()]+}})))){{$}}
247
279
define i8* @Ret (i8* %p ) #0 {
248
280
entry:
249
281
ret i8* %p
@@ -253,3 +285,57 @@ entry:
253
285
; BC-NOT: <PARAM_ACCESS1
254
286
255
287
288
+ ; COMBINED: <FLAGS op0=0/>
289
+ ; COMBINED-NEXT: <VALUE_GUID op0=1 op1=[[CALLEE1:72710208629861106]]/>
290
+ ; COMBINED-NEXT: <VALUE_GUID op0=2 op1=[[CALLEE2:900789920918863816]]/>
291
+ ; COMBINED-NEXT: <VALUE_GUID op0=3 op1=1075564720951610524/>
292
+ ; COMBINED-NEXT: <VALUE_GUID op0=4 op1=1417835201204712148/>
293
+ ; COMBINED-NEXT: <VALUE_GUID op0=5 op1=2949024673554120799/>
294
+ ; COMBINED-NEXT: <VALUE_GUID op0=6 op1=4179978066780831873/>
295
+ ; COMBINED-NEXT: <VALUE_GUID op0=7 op1=5540766144860458461/>
296
+ ; COMBINED-NEXT: <VALUE_GUID op0=8 op1=6187077497926519485/>
297
+ ; COMBINED-NEXT: <VALUE_GUID op0=9 op1=6707380319572075172/>
298
+ ; COMBINED-NEXT: <VALUE_GUID op0=10 op1=8411925997558855107/>
299
+ ; COMBINED-NEXT: <VALUE_GUID op0=11 op1=-8159310605091129913/>
300
+ ; COMBINED-NEXT: <VALUE_GUID op0=12 op1=-6599332516747241070/>
301
+ ; COMBINED-NEXT: <VALUE_GUID op0=13 op1=-5282029362632487219/>
302
+ ; COMBINED-NEXT: <VALUE_GUID op0=14 op1=-3184895716019949174/>
303
+ ; COMBINED-NEXT: <VALUE_GUID op0=15 op1=-2750063944951688315/>
304
+ ; COMBINED-NEXT: <VALUE_GUID op0=16 op1=-2287148700827644426/>
305
+ ; COMBINED-NEXT: <VALUE_GUID op0=17 op1=-1913852605147216470/>
306
+ ; COMBINED-NEXT: <VALUE_GUID op0=18 op1=-1792695732907084926/>
307
+ ; COMBINED-NEXT: <VALUE_GUID op0=19 op1=-1296325529848142540/>
308
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=1 op1=0 op2=0 op3=0/>
309
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=1
310
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=0/>
311
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=2
312
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=4 op7=6/>
313
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=3
314
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=24 op2=32 op3=0/>
315
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=4
316
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0 op4=2 op5=0 op6=8 op7=0/>
317
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=5
318
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=6
319
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0/>
320
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=7
321
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=2 op3=0 op4=1 op5=0 op6=8 op7=0/>
322
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=8
323
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=9
324
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=0 op7=2/>
325
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=10
326
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=11
327
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=113 op2=97 op3=0/>
328
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=12
329
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=13
330
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=0/>
331
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=14
332
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=15
333
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=1 op2=-2 op3=0/>
334
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=16
335
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=1 op4=0 op5=[[CALLEE2]] op6=1431 op7=1429/>
336
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=17
337
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=3 op4=0 op5=[[CALLEE2]] op6=1431 op7=1429 op8=1 op9=[[CALLEE1]] op10=67 op11=65 op12=0 op13=[[CALLEE2]] op14=248 op15=250/>
338
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=18
339
+ ; COMBINED-NEXT: <PARAM_ACCESS op0=0 op1=0 op2=0 op3=3 op4=0 op5=[[CALLEE2]] op6=1431 op7=1429 op8=0 op9=[[CALLEE2]] op10=67 op11=65 op12=0 op13=[[CALLEE2]] op14=248 op15=250/>
340
+ ; COMBINED-NEXT: <COMBINED abbrevid=4 op0=19
341
+ ; COMBINED-NEXT: <BLOCK_COUNT op0=19/>
0 commit comments