@@ -358,22 +358,45 @@ declare void @external() #0
358
358
; GCN: .set multi_call_with_external.num_vgpr, max(41, amdgpu.max_num_vgpr)
359
359
; GCN: .set multi_call_with_external.num_agpr, max(0, amdgpu.max_num_agpr)
360
360
; GCN: .set multi_call_with_external.numbered_sgpr, max(42, amdgpu.max_num_sgpr)
361
- ; GCN: .set multi_call_with_external.private_seg_size, 0
361
+ ; GCN: .set multi_call_with_external.private_seg_size, 0+(max(use_stack0.private_seg_size, use_stack1.private_seg_size))
362
362
; GCN: .set multi_call_with_external.uses_vcc, 1
363
363
; GCN: .set multi_call_with_external.uses_flat_scratch, 1
364
364
; GCN: .set multi_call_with_external.has_dyn_sized_stack, 1
365
365
; GCN: .set multi_call_with_external.has_recursion, 0
366
366
; GCN: .set multi_call_with_external.has_indirect_call, 1
367
367
; GCN: TotalNumSgprs: multi_call_with_external.numbered_sgpr+6
368
368
; GCN: NumVgprs: multi_call_with_external.num_vgpr
369
- ; GCN: ScratchSize: 0
369
+ ; GCN: ScratchSize: 2052
370
370
define amdgpu_kernel void @multi_call_with_external () #0 {
371
371
call void @use_stack0 ()
372
372
call void @use_stack1 ()
373
373
call void @external ()
374
374
ret void
375
375
}
376
376
377
+ ; GCN-LABEL: {{^}}multi_call_with_external_and_duplicates:
378
+ ; GCN: .set multi_call_with_external_and_duplicates.num_vgpr, max(41, amdgpu.max_num_vgpr)
379
+ ; GCN: .set multi_call_with_external_and_duplicates.num_agpr, max(0, amdgpu.max_num_agpr)
380
+ ; GCN: .set multi_call_with_external_and_duplicates.numbered_sgpr, max(44, amdgpu.max_num_sgpr)
381
+ ; GCN: .set multi_call_with_external_and_duplicates.private_seg_size, 0+(max(use_stack0.private_seg_size, use_stack1.private_seg_size))
382
+ ; GCN: .set multi_call_with_external_and_duplicates.uses_vcc, 1
383
+ ; GCN: .set multi_call_with_external_and_duplicates.uses_flat_scratch, 1
384
+ ; GCN: .set multi_call_with_external_and_duplicates.has_dyn_sized_stack, 1
385
+ ; GCN: .set multi_call_with_external_and_duplicates.has_recursion, 0
386
+ ; GCN: .set multi_call_with_external_and_duplicates.has_indirect_call, 1
387
+ ; GCN: TotalNumSgprs: multi_call_with_external_and_duplicates.numbered_sgpr+6
388
+ ; GCN: NumVgprs: multi_call_with_external_and_duplicates.num_vgpr
389
+ ; GCN: ScratchSize: 2052
390
+ define amdgpu_kernel void @multi_call_with_external_and_duplicates () #0 {
391
+ call void @use_stack0 ()
392
+ call void @use_stack0 ()
393
+ call void @use_stack1 ()
394
+ call void @use_stack1 ()
395
+ call void @external ()
396
+ call void @external ()
397
+ ret void
398
+ }
399
+
377
400
; GCN-LABEL: {{^}}usage_external:
378
401
; GCN: .set usage_external.num_vgpr, max(32, amdgpu.max_num_vgpr)
379
402
; GCN: .set usage_external.num_agpr, max(0, amdgpu.max_num_agpr)
0 commit comments