xref: /llvm-project/llvm/test/CodeGen/AMDGPU/hsa-metadata-dynlds-func-hidden-args-v5.ll (revision 4490003a22658dcd12527029b2c8682b63d8a9d6)
19803de0eSChaitanya; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s
29803de0eSChaitanya; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s
39803de0eSChaitanya; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readelf --notes - | FileCheck --check-prefix=CHECK %s
49803de0eSChaitanya
59803de0eSChaitanya; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 < %s | FileCheck --check-prefix=CHECK %s
69803de0eSChaitanya; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx803 < %s | FileCheck --check-prefix=CHECK %s
79803de0eSChaitanya; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck --check-prefix=CHECK %s
89803de0eSChaitanya
99803de0eSChaitanya
109803de0eSChaitanya; CHECK:	amdhsa.kernels:
119803de0eSChaitanya; CHECK-NEXT:       - .args:
129803de0eSChaitanya; CHECK-NEXT:       - .address_space:  global
139803de0eSChaitanya; CHECK-NEXT:         .name:           r
149803de0eSChaitanya; CHECK-NEXT:         .offset:         0
159803de0eSChaitanya; CHECK-NEXT:         .size:           8
169803de0eSChaitanya; CHECK-NEXT:         .value_kind:     global_buffer
179803de0eSChaitanya; CHECK-NEXT:       - .address_space:  global
189803de0eSChaitanya; CHECK-NEXT:         .name:           a
199803de0eSChaitanya; CHECK-NEXT:         .offset:         8
209803de0eSChaitanya; CHECK-NEXT:         .size:           8
219803de0eSChaitanya; CHECK-NEXT:         .value_kind:     global_buffer
229803de0eSChaitanya; CHECK-NEXT:       - .address_space:  global
239803de0eSChaitanya; CHECK-NEXT:         .name:           b
249803de0eSChaitanya; CHECK-NEXT:         .offset:         16
259803de0eSChaitanya; CHECK-NEXT:         .size:           8
269803de0eSChaitanya; CHECK-NEXT:         .value_kind:     global_buffer
279803de0eSChaitanya; CHECK-NEXT:       - .offset:         24
289803de0eSChaitanya; CHECK-NEXT:         .size:           4
299803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_block_count_x
309803de0eSChaitanya; CHECK-NEXT:      - .offset:         28
319803de0eSChaitanya; CHECK-NEXT:        .size:           4
329803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_block_count_y
339803de0eSChaitanya; CHECK-NEXT:      - .offset:         32
349803de0eSChaitanya; CHECK-NEXT:        .size:           4
359803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_block_count_z
369803de0eSChaitanya; CHECK-NEXT:      - .offset:         36
379803de0eSChaitanya; CHECK-NEXT:        .size:           2
389803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_group_size_x
399803de0eSChaitanya; CHECK-NEXT:      - .offset:         38
409803de0eSChaitanya; CHECK-NEXT:        .size:           2
419803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_group_size_y
429803de0eSChaitanya; CHECK-NEXT:      - .offset:         40
439803de0eSChaitanya; CHECK-NEXT:        .size:           2
449803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_group_size_z
459803de0eSChaitanya; CHECK-NEXT:      - .offset:         42
469803de0eSChaitanya; CHECK-NEXT:        .size:           2
479803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_remainder_x
489803de0eSChaitanya; CHECK-NEXT:      - .offset:         44
499803de0eSChaitanya; CHECK-NEXT:        .size:           2
509803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_remainder_y
519803de0eSChaitanya; CHECK-NEXT:      - .offset:         46
529803de0eSChaitanya; CHECK-NEXT:        .size:           2
539803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_remainder_z
549803de0eSChaitanya; CHECK-NEXT:      - .offset:         64
559803de0eSChaitanya; CHECK-NEXT:        .size:           8
569803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_global_offset_x
579803de0eSChaitanya; CHECK-NEXT:      - .offset:         72
589803de0eSChaitanya; CHECK-NEXT:        .size:           8
599803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_global_offset_y
609803de0eSChaitanya; CHECK-NEXT:      - .offset:         80
619803de0eSChaitanya; CHECK-NEXT:        .size:           8
629803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_global_offset_z
639803de0eSChaitanya; CHECK-NEXT:      - .offset:         88
649803de0eSChaitanya; CHECK-NEXT:        .size:           2
659803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_grid_dims
669803de0eSChaitanya; CHECK-NEXT:      - .offset:         96
679803de0eSChaitanya; CHECK-NEXT:        .size:           8
689803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_printf_buffer
699803de0eSChaitanya; CHECK-NEXT:      - .offset:         104
709803de0eSChaitanya; CHECK-NEXT:        .size:           8
719803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_hostcall_buffer
729803de0eSChaitanya; CHECK-NEXT:      - .offset:         112
739803de0eSChaitanya; CHECK-NEXT:        .size:           8
749803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_multigrid_sync_arg
759803de0eSChaitanya; CHECK-NEXT:      - .offset:         120
769803de0eSChaitanya; CHECK-NEXT:        .size:           8
779803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_heap_v1
789803de0eSChaitanya; CHECK-NEXT:      - .offset:         128
799803de0eSChaitanya; CHECK-NEXT:        .size:           8
809803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_default_queue
819803de0eSChaitanya; CHECK-NEXT:      - .offset:         136
829803de0eSChaitanya; CHECK-NEXT:        .size:           8
839803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_completion_action
849803de0eSChaitanya; CHECK:          - .offset:          144
859803de0eSChaitanya; CHECK-NEXT:        .size:           4
869803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_dynamic_lds_size
879803de0eSChaitanya; CHECK:          - .offset:          224
889803de0eSChaitanya; CHECK-NEXT:        .size:           8
899803de0eSChaitanya; CHECK-NEXT:        .value_kind:     hidden_queue_ptr
909803de0eSChaitanya
919803de0eSChaitanya; CHECK:          .name:           test_v5
929803de0eSChaitanya; CHECK:          .symbol:         test_v5.kd
939803de0eSChaitanya
949803de0eSChaitanya; CHECK:  amdhsa.version:
959803de0eSChaitanya; CHECK-NEXT: - 1
969803de0eSChaitanya; CHECK-NEXT: - 2
979803de0eSChaitanya@lds = external hidden addrspace(3) global [0 x i32], align 4
989803de0eSChaitanya
999803de0eSChaitanyadefine void @funcs_dyn_lds() {
1009803de0eSChaitanya  store i32 1234, ptr addrspacecast (ptr addrspace(3) @lds to ptr), align 4
1019803de0eSChaitanya  ret void
1029803de0eSChaitanya}
1039803de0eSChaitanya
1049803de0eSChaitanyadefine amdgpu_kernel void @test_v5(
1059803de0eSChaitanya    ptr addrspace(1) %r,
1069803de0eSChaitanya    ptr addrspace(1) %a,
1079803de0eSChaitanya    ptr addrspace(1) %b) #0 {
1089803de0eSChaitanyaentry:
1099803de0eSChaitanya  %a.val = load half, ptr addrspace(1) %a
1109803de0eSChaitanya  %b.val = load half, ptr addrspace(1) %b
1119803de0eSChaitanya  %r.val = fadd half %a.val, %b.val
1129803de0eSChaitanya  store half %r.val, ptr addrspace(1) %r
1139803de0eSChaitanya  call void @funcs_dyn_lds()
1149803de0eSChaitanya  ret void
1159803de0eSChaitanya}
1169803de0eSChaitanya
1179803de0eSChaitanya!llvm.module.flags = !{!0}
118*4490003aSEmma Pilkington!0 = !{i32 1, !"amdhsa_code_object_version", i32 500}
1199803de0eSChaitanya!llvm.printf.fmts = !{!1, !2}
1209803de0eSChaitanya!1 = !{!"1:1:4:%d\5Cn"}
1219803de0eSChaitanya!2 = !{!"2:1:8:%g\5Cn"}
1229803de0eSChaitanya
1239803de0eSChaitanyaattributes #0 = { optnone noinline }
1249803de0eSChaitanya
125