Home | History | Annotate | Download | only in AMDGPU
      1 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX700 --check-prefix=NOTES %s
      2 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx802 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX802 --check-prefix=NOTES %s
      3 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readobj -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s
      4 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s
      5 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx802 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s
      6 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -amdgpu-dump-hsa-metadata -amdgpu-verify-hsa-metadata -filetype=obj -o - < %s 2>&1 | FileCheck --check-prefix=PARSER %s
      7 
      8 %struct.A = type { i8, float }
      9 %opencl.image1d_t = type opaque
     10 %opencl.image2d_t = type opaque
     11 %opencl.image3d_t = type opaque
     12 %opencl.queue_t = type opaque
     13 %opencl.pipe_t = type opaque
     14 %struct.B = type { i32 addrspace(1)*}
     15 %opencl.clk_event_t = type opaque
     16 
     17 @__test_block_invoke_kernel_runtime_handle = external addrspace(1) externally_initialized constant i8 addrspace(1)*
     18 
     19 ; CHECK: ---
     20 ; CHECK:  Version: [ 1, 0 ]
     21 ; CHECK:  Printf:
     22 ; CHECK:    - '1:1:4:%d\n'
     23 ; CHECK:    - '2:1:8:%g\n'
     24 ; CHECK:  Kernels:
     25 
     26 ; CHECK:      - Name:            test_char
     27 ; CHECK-NEXT:   SymbolName:      'test_char@kd'
     28 ; CHECK-NEXT:   Language:        OpenCL C
     29 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
     30 ; CHECK-NEXT:   Args:
     31 ; CHECK-NEXT:     - Name:          a
     32 ; CHECK-NEXT:       TypeName:      char
     33 ; CHECK-NEXT:       Size:          1
     34 ; CHECK-NEXT:       Align:         1
     35 ; CHECK-NEXT:       ValueKind:     ByValue
     36 ; CHECK-NEXT:       ValueType:     I8
     37 ; CHECK-NEXT:       AccQual:       Default
     38 ; CHECK-NEXT:     - Size:          8
     39 ; CHECK-NEXT:       Align:         8
     40 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
     41 ; CHECK-NEXT:       ValueType:     I64
     42 ; CHECK-NEXT:     - Size:          8
     43 ; CHECK-NEXT:       Align:         8
     44 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
     45 ; CHECK-NEXT:       ValueType:     I64
     46 ; CHECK-NEXT:     - Size:          8
     47 ; CHECK-NEXT:       Align:         8
     48 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
     49 ; CHECK-NEXT:       ValueType:     I64
     50 ; CHECK-NEXT:     - Size:          8
     51 ; CHECK-NEXT:       Align:         8
     52 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
     53 ; CHECK-NEXT:       ValueType:     I8
     54 ; CHECK-NEXT:       AddrSpaceQual: Global
     55 ; CHECK-NOT:        ValueKind:     HiddenDefaultQueue
     56 ; CHECK-NOT:        ValueKind:     HiddenCompletionAction
     57 define amdgpu_kernel void @test_char(i8 %a) #0
     58     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !9
     59     !kernel_arg_base_type !9 !kernel_arg_type_qual !4 {
     60   ret void
     61 }
     62 
     63 ; CHECK:      - Name:            test_ushort2
     64 ; CHECK-NEXT:   SymbolName:      'test_ushort2@kd'
     65 ; CHECK-NEXT:   Language:        OpenCL C
     66 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
     67 ; CHECK-NEXT:   Args:
     68 ; CHECK-NEXT:     - Name:          a
     69 ; CHECK-NEXT:       TypeName:      ushort2
     70 ; CHECK-NEXT:       Size:          4
     71 ; CHECK-NEXT:       Align:         4
     72 ; CHECK-NEXT:       ValueKind:     ByValue
     73 ; CHECK-NEXT:       ValueType:     U16
     74 ; CHECK-NEXT:       AccQual:       Default
     75 ; CHECK-NEXT:     - Size:          8
     76 ; CHECK-NEXT:       Align:         8
     77 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
     78 ; CHECK-NEXT:       ValueType:     I64
     79 ; CHECK-NEXT:     - Size:          8
     80 ; CHECK-NEXT:       Align:         8
     81 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
     82 ; CHECK-NEXT:       ValueType:     I64
     83 ; CHECK-NEXT:     - Size:          8
     84 ; CHECK-NEXT:       Align:         8
     85 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
     86 ; CHECK-NEXT:       ValueType:     I64
     87 ; CHECK-NEXT:     - Size:          8
     88 ; CHECK-NEXT:       Align:         8
     89 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
     90 ; CHECK-NEXT:       ValueType:     I8
     91 ; CHECK-NEXT:       AddrSpaceQual: Global
     92 define amdgpu_kernel void @test_ushort2(<2 x i16> %a) #0
     93     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !10
     94     !kernel_arg_base_type !10 !kernel_arg_type_qual !4 {
     95   ret void
     96 }
     97 
     98 ; CHECK:      - Name:            test_int3
     99 ; CHECK-NEXT:   SymbolName:      'test_int3@kd'
    100 ; CHECK-NEXT:   Language:        OpenCL C
    101 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    102 ; CHECK-NEXT:   Args:
    103 ; CHECK-NEXT:     - Name:          a
    104 ; CHECK-NEXT:       TypeName:      int3
    105 ; CHECK-NEXT:       Size:          16
    106 ; CHECK-NEXT:       Align:         16
    107 ; CHECK-NEXT:       ValueKind:     ByValue
    108 ; CHECK-NEXT:       ValueType:     I32
    109 ; CHECK-NEXT:       AccQual:       Default
    110 ; CHECK-NEXT:     - Size:          8
    111 ; CHECK-NEXT:       Align:         8
    112 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    113 ; CHECK-NEXT:       ValueType:     I64
    114 ; CHECK-NEXT:     - Size:          8
    115 ; CHECK-NEXT:       Align:         8
    116 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    117 ; CHECK-NEXT:       ValueType:     I64
    118 ; CHECK-NEXT:     - Size:          8
    119 ; CHECK-NEXT:       Align:         8
    120 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    121 ; CHECK-NEXT:       ValueType:     I64
    122 ; CHECK-NEXT:     - Size:          8
    123 ; CHECK-NEXT:       Align:         8
    124 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    125 ; CHECK-NEXT:       ValueType:     I8
    126 ; CHECK-NEXT:       AddrSpaceQual: Global
    127 define amdgpu_kernel void @test_int3(<3 x i32> %a) #0
    128     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !11
    129     !kernel_arg_base_type !11 !kernel_arg_type_qual !4 {
    130   ret void
    131 }
    132 
    133 ; CHECK:      - Name:            test_ulong4
    134 ; CHECK-NEXT:   SymbolName:      'test_ulong4@kd'
    135 ; CHECK-NEXT:   Language:        OpenCL C
    136 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    137 ; CHECK-NEXT:   Args:
    138 ; CHECK-NEXT:     - Name:          a
    139 ; CHECK-NEXT:       TypeName:      ulong4
    140 ; CHECK-NEXT:       Size:          32
    141 ; CHECK-NEXT:       Align:         32
    142 ; CHECK-NEXT:       ValueKind:     ByValue
    143 ; CHECK-NEXT:       ValueType:     U64
    144 ; CHECK-NEXT:       AccQual:       Default
    145 ; CHECK-NEXT:     - Size:          8
    146 ; CHECK-NEXT:       Align:         8
    147 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    148 ; CHECK-NEXT:       ValueType:     I64
    149 ; CHECK-NEXT:     - Size:          8
    150 ; CHECK-NEXT:       Align:         8
    151 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    152 ; CHECK-NEXT:       ValueType:     I64
    153 ; CHECK-NEXT:     - Size:          8
    154 ; CHECK-NEXT:       Align:         8
    155 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    156 ; CHECK-NEXT:       ValueType:     I64
    157 ; CHECK-NEXT:     - Size:          8
    158 ; CHECK-NEXT:       Align:         8
    159 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    160 ; CHECK-NEXT:       ValueType:     I8
    161 ; CHECK-NEXT:       AddrSpaceQual: Global
    162 define amdgpu_kernel void @test_ulong4(<4 x i64> %a) #0
    163     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !12
    164     !kernel_arg_base_type !12 !kernel_arg_type_qual !4 {
    165   ret void
    166 }
    167 
    168 ; CHECK:      - Name:            test_half8
    169 ; CHECK-NEXT:   SymbolName:      'test_half8@kd'
    170 ; CHECK-NEXT:   Language:        OpenCL C
    171 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    172 ; CHECK-NEXT:   Args:
    173 ; CHECK-NEXT:     - Name:          a
    174 ; CHECK-NEXT:       TypeName:      half8
    175 ; CHECK-NEXT:       Size:          16
    176 ; CHECK-NEXT:       Align:         16
    177 ; CHECK-NEXT:       ValueKind:     ByValue
    178 ; CHECK-NEXT:       ValueType:     F16
    179 ; CHECK-NEXT:       AccQual:       Default
    180 ; CHECK-NEXT:     - Size:          8
    181 ; CHECK-NEXT:       Align:         8
    182 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    183 ; CHECK-NEXT:       ValueType:     I64
    184 ; CHECK-NEXT:     - Size:          8
    185 ; CHECK-NEXT:       Align:         8
    186 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    187 ; CHECK-NEXT:       ValueType:     I64
    188 ; CHECK-NEXT:     - Size:          8
    189 ; CHECK-NEXT:       Align:         8
    190 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    191 ; CHECK-NEXT:       ValueType:     I64
    192 ; CHECK-NEXT:     - Size:          8
    193 ; CHECK-NEXT:       Align:         8
    194 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    195 ; CHECK-NEXT:       ValueType:     I8
    196 ; CHECK-NEXT:       AddrSpaceQual: Global
    197 define amdgpu_kernel void @test_half8(<8 x half> %a) #0
    198     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !13
    199     !kernel_arg_base_type !13 !kernel_arg_type_qual !4 {
    200   ret void
    201 }
    202 
    203 ; CHECK:      - Name:            test_float16
    204 ; CHECK-NEXT:   SymbolName:      'test_float16@kd'
    205 ; CHECK-NEXT:   Language:        OpenCL C
    206 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    207 ; CHECK-NEXT:   Args:
    208 ; CHECK-NEXT:     - Name:          a
    209 ; CHECK-NEXT:       TypeName:      float16
    210 ; CHECK-NEXT:       Size:          64
    211 ; CHECK-NEXT:       Align:         64
    212 ; CHECK-NEXT:       ValueKind:     ByValue
    213 ; CHECK-NEXT:       ValueType:     F32
    214 ; CHECK-NEXT:       AccQual:       Default
    215 ; CHECK-NEXT:     - Size:          8
    216 ; CHECK-NEXT:       Align:         8
    217 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    218 ; CHECK-NEXT:       ValueType:     I64
    219 ; CHECK-NEXT:     - Size:          8
    220 ; CHECK-NEXT:       Align:         8
    221 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    222 ; CHECK-NEXT:       ValueType:     I64
    223 ; CHECK-NEXT:     - Size:          8
    224 ; CHECK-NEXT:       Align:         8
    225 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    226 ; CHECK-NEXT:       ValueType:     I64
    227 ; CHECK-NEXT:     - Size:          8
    228 ; CHECK-NEXT:       Align:         8
    229 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    230 ; CHECK-NEXT:       ValueType:     I8
    231 ; CHECK-NEXT:       AddrSpaceQual: Global
    232 define amdgpu_kernel void @test_float16(<16 x float> %a) #0
    233     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !14
    234     !kernel_arg_base_type !14 !kernel_arg_type_qual !4 {
    235   ret void
    236 }
    237 
    238 ; CHECK:      - Name:            test_double16
    239 ; CHECK-NEXT:   SymbolName:      'test_double16@kd'
    240 ; CHECK-NEXT:   Language:        OpenCL C
    241 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    242 ; CHECK-NEXT:   Args:
    243 ; CHECK-NEXT:     - Name:          a
    244 ; CHECK-NEXT:       TypeName:      double16
    245 ; CHECK-NEXT:       Size:          128
    246 ; CHECK-NEXT:       Align:         128
    247 ; CHECK-NEXT:       ValueKind:     ByValue
    248 ; CHECK-NEXT:       ValueType:     F64
    249 ; CHECK-NEXT:       AccQual:       Default
    250 ; CHECK-NEXT:     - Size:          8
    251 ; CHECK-NEXT:       Align:         8
    252 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    253 ; CHECK-NEXT:       ValueType:     I64
    254 ; CHECK-NEXT:     - Size:          8
    255 ; CHECK-NEXT:       Align:         8
    256 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    257 ; CHECK-NEXT:       ValueType:     I64
    258 ; CHECK-NEXT:     - Size:          8
    259 ; CHECK-NEXT:       Align:         8
    260 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    261 ; CHECK-NEXT:       ValueType:     I64
    262 ; CHECK-NEXT:     - Size:          8
    263 ; CHECK-NEXT:       Align:         8
    264 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    265 ; CHECK-NEXT:       ValueType:     I8
    266 ; CHECK-NEXT:       AddrSpaceQual: Global
    267 define amdgpu_kernel void @test_double16(<16 x double> %a) #0
    268     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !15
    269     !kernel_arg_base_type !15 !kernel_arg_type_qual !4 {
    270   ret void
    271 }
    272 
    273 ; CHECK:      - Name:            test_pointer
    274 ; CHECK-NEXT:   SymbolName:      'test_pointer@kd'
    275 ; CHECK-NEXT:   Language:        OpenCL C
    276 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    277 ; CHECK-NEXT:   Args:
    278 ; CHECK-NEXT:     - Name:          a
    279 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    280 ; CHECK-NEXT:       Size:          8
    281 ; CHECK-NEXT:       Align:         8
    282 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
    283 ; CHECK-NEXT:       ValueType:     I32
    284 ; CHECK-NEXT:       AddrSpaceQual: Global
    285 ; CHECK-NEXT:       AccQual:       Default
    286 ; CHECK-NEXT:     - Size:          8
    287 ; CHECK-NEXT:       Align:         8
    288 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    289 ; CHECK-NEXT:       ValueType:     I64
    290 ; CHECK-NEXT:     - Size:          8
    291 ; CHECK-NEXT:       Align:         8
    292 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    293 ; CHECK-NEXT:       ValueType:     I64
    294 ; CHECK-NEXT:     - Size:          8
    295 ; CHECK-NEXT:       Align:         8
    296 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    297 ; CHECK-NEXT:       ValueType:     I64
    298 ; CHECK-NEXT:     - Size:          8
    299 ; CHECK-NEXT:       Align:         8
    300 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    301 ; CHECK-NEXT:       ValueType:     I8
    302 ; CHECK-NEXT:       AddrSpaceQual: Global
    303 define amdgpu_kernel void @test_pointer(i32 addrspace(1)* %a) #0
    304     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !16
    305     !kernel_arg_base_type !16 !kernel_arg_type_qual !4 {
    306   ret void
    307 }
    308 
    309 ; CHECK:      - Name:            test_image
    310 ; CHECK-NEXT:   SymbolName:      'test_image@kd'
    311 ; CHECK-NEXT:   Language:        OpenCL C
    312 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    313 ; CHECK-NEXT:   Args:
    314 ; CHECK-NEXT:     - Name:          a
    315 ; CHECK-NEXT:       TypeName:      image2d_t
    316 ; CHECK-NEXT:       Size:          8
    317 ; CHECK-NEXT:       Align:         8
    318 ; CHECK-NEXT:       ValueKind:     Image
    319 ; CHECK-NEXT:       ValueType:     Struct
    320 ; CHECK-NEXT:       AddrSpaceQual: Global
    321 ; CHECK-NEXT:       AccQual:       Default
    322 ; CHECK-NEXT:     - Size:          8
    323 ; CHECK-NEXT:       Align:         8
    324 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    325 ; CHECK-NEXT:       ValueType:     I64
    326 ; CHECK-NEXT:     - Size:          8
    327 ; CHECK-NEXT:       Align:         8
    328 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    329 ; CHECK-NEXT:       ValueType:     I64
    330 ; CHECK-NEXT:     - Size:          8
    331 ; CHECK-NEXT:       Align:         8
    332 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    333 ; CHECK-NEXT:       ValueType:     I64
    334 ; CHECK-NEXT:     - Size:          8
    335 ; CHECK-NEXT:       Align:         8
    336 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    337 ; CHECK-NEXT:       ValueType:     I8
    338 ; CHECK-NEXT:       AddrSpaceQual: Global
    339 define amdgpu_kernel void @test_image(%opencl.image2d_t addrspace(1)* %a) #0
    340     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !17
    341     !kernel_arg_base_type !17 !kernel_arg_type_qual !4 {
    342   ret void
    343 }
    344 
    345 ; CHECK:      - Name:            test_sampler
    346 ; CHECK-NEXT:   SymbolName:      'test_sampler@kd'
    347 ; CHECK-NEXT:   Language:        OpenCL C
    348 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    349 ; CHECK-NEXT:   Args:
    350 ; CHECK-NEXT:     - Name:          a
    351 ; CHECK-NEXT:       TypeName:      sampler_t
    352 ; CHECK-NEXT:       Size:          4
    353 ; CHECK-NEXT:       Align:         4
    354 ; CHECK-NEXT:       ValueKind:     Sampler
    355 ; CHECK-NEXT:       ValueType:     I32
    356 ; CHECK-NEXT:       AccQual:       Default
    357 ; CHECK-NEXT:     - Size:          8
    358 ; CHECK-NEXT:       Align:         8
    359 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    360 ; CHECK-NEXT:       ValueType:     I64
    361 ; CHECK-NEXT:     - Size:          8
    362 ; CHECK-NEXT:       Align:         8
    363 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    364 ; CHECK-NEXT:       ValueType:     I64
    365 ; CHECK-NEXT:     - Size:          8
    366 ; CHECK-NEXT:       Align:         8
    367 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    368 ; CHECK-NEXT:       ValueType:     I64
    369 ; CHECK-NEXT:     - Size:          8
    370 ; CHECK-NEXT:       Align:         8
    371 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    372 ; CHECK-NEXT:       ValueType:     I8
    373 ; CHECK-NEXT:       AddrSpaceQual: Global
    374 define amdgpu_kernel void @test_sampler(i32 %a) #0
    375     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !18
    376     !kernel_arg_base_type !18 !kernel_arg_type_qual !4 {
    377   ret void
    378 }
    379 
    380 ; CHECK:      - Name:            test_queue
    381 ; CHECK-NEXT:   SymbolName:      'test_queue@kd'
    382 ; CHECK-NEXT:   Language:        OpenCL C
    383 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    384 ; CHECK-NEXT:   Args:
    385 ; CHECK-NEXT:     - Name:          a
    386 ; CHECK-NEXT:       TypeName:      queue_t
    387 ; CHECK-NEXT:       Size:          8
    388 ; CHECK-NEXT:       Align:         8
    389 ; CHECK-NEXT:       ValueKind:     Queue
    390 ; CHECK-NEXT:       ValueType:     Struct
    391 ; CHECK-NEXT:       AddrSpaceQual: Global
    392 ; CHECK-NEXT:       AccQual:       Default
    393 ; CHECK-NEXT:     - Size:          8
    394 ; CHECK-NEXT:       Align:         8
    395 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    396 ; CHECK-NEXT:       ValueType:     I64
    397 ; CHECK-NEXT:     - Size:          8
    398 ; CHECK-NEXT:       Align:         8
    399 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    400 ; CHECK-NEXT:       ValueType:     I64
    401 ; CHECK-NEXT:     - Size:          8
    402 ; CHECK-NEXT:       Align:         8
    403 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    404 ; CHECK-NEXT:       ValueType:     I64
    405 ; CHECK-NEXT:     - Size:          8
    406 ; CHECK-NEXT:       Align:         8
    407 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    408 ; CHECK-NEXT:       ValueType:     I8
    409 ; CHECK-NEXT:       AddrSpaceQual: Global
    410 define amdgpu_kernel void @test_queue(%opencl.queue_t addrspace(1)* %a) #0
    411     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !19
    412     !kernel_arg_base_type !19 !kernel_arg_type_qual !4 {
    413   ret void
    414 }
    415 
    416 ; CHECK:      - Name:            test_struct
    417 ; CHECK-NEXT:   SymbolName:      'test_struct@kd'
    418 ; CHECK-NEXT:   Language:        OpenCL C
    419 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    420 ; CHECK-NEXT:   Args:
    421 ; CHECK-NEXT:     - Name:          a
    422 ; CHECK-NEXT:       TypeName:      struct A
    423 ; CHECK-NEXT:       Size:          4
    424 ; CHECK-NEXT:       Align:         4
    425 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
    426 ; CHECK-NEXT:       ValueType:     Struct
    427 ; CHECK-NEXT:       AddrSpaceQual: Private
    428 ; CHECK-NEXT:       AccQual:       Default
    429 ; CHECK-NEXT:     - Size:          8
    430 ; CHECK-NEXT:       Align:         8
    431 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    432 ; CHECK-NEXT:       ValueType:     I64
    433 ; CHECK-NEXT:     - Size:          8
    434 ; CHECK-NEXT:       Align:         8
    435 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    436 ; CHECK-NEXT:       ValueType:     I64
    437 ; CHECK-NEXT:     - Size:          8
    438 ; CHECK-NEXT:       Align:         8
    439 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    440 ; CHECK-NEXT:       ValueType:     I64
    441 ; CHECK-NEXT:     - Size:          8
    442 ; CHECK-NEXT:       Align:         8
    443 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    444 ; CHECK-NEXT:       ValueType:     I8
    445 ; CHECK-NEXT:       AddrSpaceQual: Global
    446 define amdgpu_kernel void @test_struct(%struct.A addrspace(5)* byval %a) #0
    447     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !20
    448     !kernel_arg_base_type !20 !kernel_arg_type_qual !4 {
    449   ret void
    450 }
    451 
    452 ; CHECK:      - Name:            test_i128
    453 ; CHECK-NEXT:   SymbolName:      'test_i128@kd'
    454 ; CHECK-NEXT:   Language:        OpenCL C
    455 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    456 ; CHECK-NEXT:   Args:
    457 ; CHECK-NEXT:     - Name:          a
    458 ; CHECK-NEXT:       TypeName:      i128
    459 ; CHECK-NEXT:       Size:          16
    460 ; CHECK-NEXT:       Align:         8
    461 ; CHECK-NEXT:       ValueKind:     ByValue
    462 ; CHECK-NEXT:       ValueType:     Struct
    463 ; CHECK-NEXT:       AccQual:       Default
    464 ; CHECK-NEXT:     - Size:          8
    465 ; CHECK-NEXT:       Align:         8
    466 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    467 ; CHECK-NEXT:       ValueType:     I64
    468 ; CHECK-NEXT:     - Size:          8
    469 ; CHECK-NEXT:       Align:         8
    470 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    471 ; CHECK-NEXT:       ValueType:     I64
    472 ; CHECK-NEXT:     - Size:          8
    473 ; CHECK-NEXT:       Align:         8
    474 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    475 ; CHECK-NEXT:       ValueType:     I64
    476 ; CHECK-NEXT:     - Size:          8
    477 ; CHECK-NEXT:       Align:         8
    478 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    479 ; CHECK-NEXT:       ValueType:     I8
    480 ; CHECK-NEXT:       AddrSpaceQual: Global
    481 define amdgpu_kernel void @test_i128(i128 %a) #0
    482     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !21
    483     !kernel_arg_base_type !21 !kernel_arg_type_qual !4 {
    484   ret void
    485 }
    486 
    487 ; CHECK:      - Name:            test_multi_arg
    488 ; CHECK-NEXT:   SymbolName:      'test_multi_arg@kd'
    489 ; CHECK-NEXT:   Language:        OpenCL C
    490 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    491 ; CHECK-NEXT:   Args:
    492 ; CHECK-NEXT:     - Name:          a
    493 ; CHECK-NEXT:       TypeName:      int
    494 ; CHECK-NEXT:       Size:          4
    495 ; CHECK-NEXT:       Align:         4
    496 ; CHECK-NEXT:       ValueKind:     ByValue
    497 ; CHECK-NEXT:       ValueType:     I32
    498 ; CHECK-NEXT:       AccQual:       Default
    499 ; CHECK-NEXT:     - Name:          b
    500 ; CHECK-NEXT:       TypeName:      short2
    501 ; CHECK-NEXT:       Size:          4
    502 ; CHECK-NEXT:       Align:         4
    503 ; CHECK-NEXT:       ValueKind:     ByValue
    504 ; CHECK-NEXT:       ValueType:     I16
    505 ; CHECK-NEXT:       AccQual:       Default
    506 ; CHECK-NEXT:     - Name:          c
    507 ; CHECK-NEXT:       TypeName:      char3
    508 ; CHECK-NEXT:       Size:          4
    509 ; CHECK-NEXT:       Align:         4
    510 ; CHECK-NEXT:       ValueKind:     ByValue
    511 ; CHECK-NEXT:       ValueType:     I8
    512 ; CHECK-NEXT:       AccQual:       Default
    513 ; CHECK-NEXT:     - Size:          8
    514 ; CHECK-NEXT:       Align:         8
    515 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    516 ; CHECK-NEXT:       ValueType:     I64
    517 ; CHECK-NEXT:     - Size:          8
    518 ; CHECK-NEXT:       Align:         8
    519 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    520 ; CHECK-NEXT:       ValueType:     I64
    521 ; CHECK-NEXT:     - Size:          8
    522 ; CHECK-NEXT:       Align:         8
    523 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    524 ; CHECK-NEXT:       ValueType:     I64
    525 ; CHECK-NEXT:     - Size:          8
    526 ; CHECK-NEXT:       Align:         8
    527 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    528 ; CHECK-NEXT:       ValueType:     I8
    529 ; CHECK-NEXT:       AddrSpaceQual: Global
    530 define amdgpu_kernel void @test_multi_arg(i32 %a, <2 x i16> %b, <3 x i8> %c) #0
    531     !kernel_arg_addr_space !22 !kernel_arg_access_qual !23 !kernel_arg_type !24
    532     !kernel_arg_base_type !24 !kernel_arg_type_qual !25 {
    533   ret void
    534 }
    535 
    536 ; CHECK:      - Name:            test_addr_space
    537 ; CHECK-NEXT:   SymbolName:      'test_addr_space@kd'
    538 ; CHECK-NEXT:   Language:        OpenCL C
    539 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    540 ; CHECK-NEXT:   Args:
    541 ; CHECK-NEXT:     - Name:          g
    542 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    543 ; CHECK-NEXT:       Size:          8
    544 ; CHECK-NEXT:       Align:         8
    545 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
    546 ; CHECK-NEXT:       ValueType:     I32
    547 ; CHECK-NEXT:       AddrSpaceQual: Global
    548 ; CHECK-NEXT:       AccQual:       Default
    549 ; CHECK-NEXT:     - Name:          c
    550 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    551 ; CHECK-NEXT:       Size:          8
    552 ; CHECK-NEXT:       Align:         8
    553 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
    554 ; CHECK-NEXT:       ValueType:     I32
    555 ; CHECK-NEXT:       AddrSpaceQual: Constant
    556 ; CHECK-NEXT:       AccQual:       Default
    557 ; CHECK-NEXT:     - Name:          l
    558 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    559 ; CHECK-NEXT:       Size:          4
    560 ; CHECK-NEXT:       Align:         4
    561 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
    562 ; CHECK-NEXT:       ValueType:     I32
    563 ; CHECK-NEXT:       PointeeAlign:  4
    564 ; CHECK-NEXT:       AddrSpaceQual: Local
    565 ; CHECK-NEXT:       AccQual:       Default
    566 ; CHECK-NEXT:     - Size:          8
    567 ; CHECK-NEXT:       Align:         8
    568 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    569 ; CHECK-NEXT:       ValueType:     I64
    570 ; CHECK-NEXT:     - Size:          8
    571 ; CHECK-NEXT:       Align:         8
    572 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    573 ; CHECK-NEXT:       ValueType:     I64
    574 ; CHECK-NEXT:     - Size:          8
    575 ; CHECK-NEXT:       Align:         8
    576 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    577 ; CHECK-NEXT:       ValueType:     I64
    578 ; CHECK-NEXT:     - Size:          8
    579 ; CHECK-NEXT:       Align:         8
    580 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    581 ; CHECK-NEXT:       ValueType:     I8
    582 ; CHECK-NEXT:       AddrSpaceQual: Global
    583 define amdgpu_kernel void @test_addr_space(i32 addrspace(1)* %g,
    584                                            i32 addrspace(4)* %c,
    585                                            i32 addrspace(3)* %l) #0
    586     !kernel_arg_addr_space !50 !kernel_arg_access_qual !23 !kernel_arg_type !51
    587     !kernel_arg_base_type !51 !kernel_arg_type_qual !25 {
    588   ret void
    589 }
    590 
    591 ; CHECK:      - Name:            test_type_qual
    592 ; CHECK-NEXT:   SymbolName:      'test_type_qual@kd'
    593 ; CHECK-NEXT:   Language:        OpenCL C
    594 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    595 ; CHECK-NEXT:   Args:
    596 ; CHECK-NEXT:     - Name:          a
    597 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    598 ; CHECK-NEXT:       Size:          8
    599 ; CHECK-NEXT:       Align:         8
    600 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
    601 ; CHECK-NEXT:       ValueType:     I32
    602 ; CHECK-NEXT:       AddrSpaceQual: Global
    603 ; CHECK-NEXT:       AccQual:       Default
    604 ; CHECK-NEXT:       IsVolatile:    true
    605 ; CHECK-NEXT:     - Name:          b
    606 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    607 ; CHECK-NEXT:       Size:          8
    608 ; CHECK-NEXT:       Align:         8
    609 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
    610 ; CHECK-NEXT:       ValueType:     I32
    611 ; CHECK-NEXT:       AddrSpaceQual: Global
    612 ; CHECK-NEXT:       AccQual:       Default
    613 ; CHECK-NEXT:       IsConst:       true
    614 ; CHECK-NEXT:       IsRestrict:    true
    615 ; CHECK-NEXT:     - Name:          c
    616 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)*'
    617 ; CHECK-NEXT:       Size:          8
    618 ; CHECK-NEXT:       Align:         8
    619 ; CHECK-NEXT:       ValueKind:     Pipe
    620 ; CHECK-NEXT:       ValueType:     Struct
    621 ; CHECK-NEXT:       AddrSpaceQual: Global
    622 ; CHECK-NEXT:       AccQual:       Default
    623 ; CHECK-NEXT:       IsPipe:        true
    624 ; CHECK-NEXT:     - Size:          8
    625 ; CHECK-NEXT:       Align:         8
    626 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    627 ; CHECK-NEXT:       ValueType:     I64
    628 ; CHECK-NEXT:     - Size:          8
    629 ; CHECK-NEXT:       Align:         8
    630 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    631 ; CHECK-NEXT:       ValueType:     I64
    632 ; CHECK-NEXT:     - Size:          8
    633 ; CHECK-NEXT:       Align:         8
    634 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    635 ; CHECK-NEXT:       ValueType:     I64
    636 ; CHECK-NEXT:     - Size:          8
    637 ; CHECK-NEXT:       Align:         8
    638 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    639 ; CHECK-NEXT:       ValueType:     I8
    640 ; CHECK-NEXT:       AddrSpaceQual: Global
    641 define amdgpu_kernel void @test_type_qual(i32 addrspace(1)* %a,
    642                                           i32 addrspace(1)* %b,
    643                                           %opencl.pipe_t addrspace(1)* %c) #0
    644     !kernel_arg_addr_space !22 !kernel_arg_access_qual !23 !kernel_arg_type !51
    645     !kernel_arg_base_type !51 !kernel_arg_type_qual !70 {
    646   ret void
    647 }
    648 
    649 ; CHECK:      - Name:            test_access_qual
    650 ; CHECK-NEXT:   SymbolName:      'test_access_qual@kd'
    651 ; CHECK-NEXT:   Language:        OpenCL C
    652 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    653 ; CHECK-NEXT:   Args:
    654 ; CHECK-NEXT:     - Name:          ro
    655 ; CHECK-NEXT:       TypeName:      image1d_t
    656 ; CHECK-NEXT:       Size:          8
    657 ; CHECK-NEXT:       Align:         8
    658 ; CHECK-NEXT:       ValueKind:     Image
    659 ; CHECK-NEXT:       ValueType:     Struct
    660 ; CHECK-NEXT:       AddrSpaceQual: Global
    661 ; CHECK-NEXT:       AccQual:       ReadOnly
    662 ; CHECK-NEXT:     - Name:          wo
    663 ; CHECK-NEXT:       TypeName:      image2d_t
    664 ; CHECK-NEXT:       Size:          8
    665 ; CHECK-NEXT:       Align:         8
    666 ; CHECK-NEXT:       ValueKind:     Image
    667 ; CHECK-NEXT:       ValueType:     Struct
    668 ; CHECK-NEXT:       AddrSpaceQual: Global
    669 ; CHECK-NEXT:       AccQual:       WriteOnly
    670 ; CHECK-NEXT:     - Name:          rw
    671 ; CHECK-NEXT:       TypeName:      image3d_t
    672 ; CHECK-NEXT:       Size:          8
    673 ; CHECK-NEXT:       Align:         8
    674 ; CHECK-NEXT:       ValueKind:     Image
    675 ; CHECK-NEXT:       ValueType:     Struct
    676 ; CHECK-NEXT:       AddrSpaceQual: Global
    677 ; CHECK-NEXT:       AccQual:       ReadWrite
    678 ; CHECK-NEXT:     - Size:          8
    679 ; CHECK-NEXT:       Align:         8
    680 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    681 ; CHECK-NEXT:       ValueType:     I64
    682 ; CHECK-NEXT:     - Size:          8
    683 ; CHECK-NEXT:       Align:         8
    684 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    685 ; CHECK-NEXT:       ValueType:     I64
    686 ; CHECK-NEXT:     - Size:          8
    687 ; CHECK-NEXT:       Align:         8
    688 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    689 ; CHECK-NEXT:       ValueType:     I64
    690 ; CHECK-NEXT:     - Size:          8
    691 ; CHECK-NEXT:       Align:         8
    692 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    693 ; CHECK-NEXT:       ValueType:     I8
    694 ; CHECK-NEXT:       AddrSpaceQual: Global
    695 define amdgpu_kernel void @test_access_qual(%opencl.image1d_t addrspace(1)* %ro,
    696                                             %opencl.image2d_t addrspace(1)* %wo,
    697                                             %opencl.image3d_t addrspace(1)* %rw) #0
    698     !kernel_arg_addr_space !60 !kernel_arg_access_qual !61 !kernel_arg_type !62
    699     !kernel_arg_base_type !62 !kernel_arg_type_qual !25 {
    700   ret void
    701 }
    702 
    703 ; CHECK:      - Name:            test_vec_type_hint_half
    704 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_half@kd'
    705 ; CHECK-NEXT:   Language:        OpenCL C
    706 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    707 ; CHECK-NEXT:   Attrs:
    708 ; CHECK-NEXT:       VecTypeHint:   half
    709 ; CHECK-NEXT:   Args:
    710 ; CHECK-NEXT:     - Name:          a
    711 ; CHECK-NEXT:       TypeName:      int
    712 ; CHECK-NEXT:       Size:          4
    713 ; CHECK-NEXT:       Align:         4
    714 ; CHECK-NEXT:       ValueKind:     ByValue
    715 ; CHECK-NEXT:       ValueType:     I32
    716 ; CHECK-NEXT:       AccQual:       Default
    717 ; CHECK-NEXT:     - Size:          8
    718 ; CHECK-NEXT:       Align:         8
    719 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    720 ; CHECK-NEXT:       ValueType:     I64
    721 ; CHECK-NEXT:     - Size:          8
    722 ; CHECK-NEXT:       Align:         8
    723 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    724 ; CHECK-NEXT:       ValueType:     I64
    725 ; CHECK-NEXT:     - Size:          8
    726 ; CHECK-NEXT:       Align:         8
    727 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    728 ; CHECK-NEXT:       ValueType:     I64
    729 ; CHECK-NEXT:     - Size:          8
    730 ; CHECK-NEXT:       Align:         8
    731 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    732 ; CHECK-NEXT:       ValueType:     I8
    733 ; CHECK-NEXT:       AddrSpaceQual: Global
    734 define amdgpu_kernel void @test_vec_type_hint_half(i32 %a) #0
    735     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    736     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !26 {
    737   ret void
    738 }
    739 
    740 ; CHECK:      - Name:            test_vec_type_hint_float
    741 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_float@kd'
    742 ; CHECK-NEXT:   Language:        OpenCL C
    743 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    744 ; CHECK-NEXT:   Attrs:
    745 ; CHECK-NEXT:       VecTypeHint:   float
    746 ; CHECK-NEXT:   Args:
    747 ; CHECK-NEXT:     - Name:          a
    748 ; CHECK-NEXT:       TypeName:      int
    749 ; CHECK-NEXT:       Size:          4
    750 ; CHECK-NEXT:       Align:         4
    751 ; CHECK-NEXT:       ValueKind:     ByValue
    752 ; CHECK-NEXT:       ValueType:     I32
    753 ; CHECK-NEXT:       AccQual:       Default
    754 ; CHECK-NEXT:     - Size:          8
    755 ; CHECK-NEXT:       Align:         8
    756 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    757 ; CHECK-NEXT:       ValueType:     I64
    758 ; CHECK-NEXT:     - Size:          8
    759 ; CHECK-NEXT:       Align:         8
    760 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    761 ; CHECK-NEXT:       ValueType:     I64
    762 ; CHECK-NEXT:     - Size:          8
    763 ; CHECK-NEXT:       Align:         8
    764 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    765 ; CHECK-NEXT:       ValueType:     I64
    766 ; CHECK-NEXT:     - Size:          8
    767 ; CHECK-NEXT:       Align:         8
    768 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    769 ; CHECK-NEXT:       ValueType:     I8
    770 ; CHECK-NEXT:       AddrSpaceQual: Global
    771 define amdgpu_kernel void @test_vec_type_hint_float(i32 %a) #0
    772     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    773     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !27 {
    774   ret void
    775 }
    776 
    777 ; CHECK:      - Name:            test_vec_type_hint_double
    778 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_double@kd'
    779 ; CHECK-NEXT:   Language:        OpenCL C
    780 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    781 ; CHECK-NEXT:   Attrs:
    782 ; CHECK-NEXT:       VecTypeHint:   double
    783 ; CHECK-NEXT:   Args:
    784 ; CHECK-NEXT:     - Name:          a
    785 ; CHECK-NEXT:       TypeName:      int
    786 ; CHECK-NEXT:       Size:          4
    787 ; CHECK-NEXT:       Align:         4
    788 ; CHECK-NEXT:       ValueKind:     ByValue
    789 ; CHECK-NEXT:       ValueType:     I32
    790 ; CHECK-NEXT:       AccQual:       Default
    791 ; CHECK-NEXT:     - Size:          8
    792 ; CHECK-NEXT:       Align:         8
    793 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    794 ; CHECK-NEXT:       ValueType:     I64
    795 ; CHECK-NEXT:     - Size:          8
    796 ; CHECK-NEXT:       Align:         8
    797 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    798 ; CHECK-NEXT:       ValueType:     I64
    799 ; CHECK-NEXT:     - Size:          8
    800 ; CHECK-NEXT:       Align:         8
    801 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    802 ; CHECK-NEXT:       ValueType:     I64
    803 ; CHECK-NEXT:     - Size:          8
    804 ; CHECK-NEXT:       Align:         8
    805 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    806 ; CHECK-NEXT:       ValueType:     I8
    807 ; CHECK-NEXT:       AddrSpaceQual: Global
    808 define amdgpu_kernel void @test_vec_type_hint_double(i32 %a) #0
    809     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    810     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !28 {
    811   ret void
    812 }
    813 
    814 ; CHECK:      - Name:            test_vec_type_hint_char
    815 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_char@kd'
    816 ; CHECK-NEXT:   Language:        OpenCL C
    817 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    818 ; CHECK-NEXT:   Attrs:
    819 ; CHECK-NEXT:       VecTypeHint:   char
    820 ; CHECK-NEXT:   Args:
    821 ; CHECK-NEXT:     - Name:          a
    822 ; CHECK-NEXT:       TypeName:      int
    823 ; CHECK-NEXT:       Size:          4
    824 ; CHECK-NEXT:       Align:         4
    825 ; CHECK-NEXT:       ValueKind:     ByValue
    826 ; CHECK-NEXT:       ValueType:     I32
    827 ; CHECK-NEXT:       AccQual:       Default
    828 ; CHECK-NEXT:     - Size:          8
    829 ; CHECK-NEXT:       Align:         8
    830 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    831 ; CHECK-NEXT:       ValueType:     I64
    832 ; CHECK-NEXT:     - Size:          8
    833 ; CHECK-NEXT:       Align:         8
    834 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    835 ; CHECK-NEXT:       ValueType:     I64
    836 ; CHECK-NEXT:     - Size:          8
    837 ; CHECK-NEXT:       Align:         8
    838 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    839 ; CHECK-NEXT:       ValueType:     I64
    840 ; CHECK-NEXT:     - Size:          8
    841 ; CHECK-NEXT:       Align:         8
    842 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    843 ; CHECK-NEXT:       ValueType:     I8
    844 ; CHECK-NEXT:       AddrSpaceQual: Global
    845 define amdgpu_kernel void @test_vec_type_hint_char(i32 %a) #0
    846     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    847     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !29 {
    848   ret void
    849 }
    850 
    851 ; CHECK:      - Name:            test_vec_type_hint_short
    852 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_short@kd'
    853 ; CHECK-NEXT:   Language:        OpenCL C
    854 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    855 ; CHECK-NEXT:   Attrs:
    856 ; CHECK-NEXT:       VecTypeHint:   short
    857 ; CHECK-NEXT:   Args:
    858 ; CHECK-NEXT:     - Name:          a
    859 ; CHECK-NEXT:       TypeName:      int
    860 ; CHECK-NEXT:       Size:          4
    861 ; CHECK-NEXT:       Align:         4
    862 ; CHECK-NEXT:       ValueKind:     ByValue
    863 ; CHECK-NEXT:       ValueType:     I32
    864 ; CHECK-NEXT:       AccQual:       Default
    865 ; CHECK-NEXT:     - Size:          8
    866 ; CHECK-NEXT:       Align:         8
    867 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    868 ; CHECK-NEXT:       ValueType:     I64
    869 ; CHECK-NEXT:     - Size:          8
    870 ; CHECK-NEXT:       Align:         8
    871 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    872 ; CHECK-NEXT:       ValueType:     I64
    873 ; CHECK-NEXT:     - Size:          8
    874 ; CHECK-NEXT:       Align:         8
    875 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    876 ; CHECK-NEXT:       ValueType:     I64
    877 ; CHECK-NEXT:     - Size:          8
    878 ; CHECK-NEXT:       Align:         8
    879 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    880 ; CHECK-NEXT:       ValueType:     I8
    881 ; CHECK-NEXT:       AddrSpaceQual: Global
    882 define amdgpu_kernel void @test_vec_type_hint_short(i32 %a) #0
    883     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    884     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !30 {
    885   ret void
    886 }
    887 
    888 ; CHECK:      - Name:            test_vec_type_hint_long
    889 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_long@kd'
    890 ; CHECK-NEXT:   Language:        OpenCL C
    891 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    892 ; CHECK-NEXT:   Attrs:
    893 ; CHECK-NEXT:       VecTypeHint:   long
    894 ; CHECK-NEXT:   Args:
    895 ; CHECK-NEXT:     - Name:          a
    896 ; CHECK-NEXT:       TypeName:      int
    897 ; CHECK-NEXT:       Size:          4
    898 ; CHECK-NEXT:       Align:         4
    899 ; CHECK-NEXT:       ValueKind:     ByValue
    900 ; CHECK-NEXT:       ValueType:     I32
    901 ; CHECK-NEXT:       AccQual:       Default
    902 ; CHECK-NEXT:     - Size:          8
    903 ; CHECK-NEXT:       Align:         8
    904 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    905 ; CHECK-NEXT:       ValueType:     I64
    906 ; CHECK-NEXT:     - Size:          8
    907 ; CHECK-NEXT:       Align:         8
    908 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    909 ; CHECK-NEXT:       ValueType:     I64
    910 ; CHECK-NEXT:     - Size:          8
    911 ; CHECK-NEXT:       Align:         8
    912 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    913 ; CHECK-NEXT:       ValueType:     I64
    914 ; CHECK-NEXT:     - Size:          8
    915 ; CHECK-NEXT:       Align:         8
    916 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    917 ; CHECK-NEXT:       ValueType:     I8
    918 ; CHECK-NEXT:       AddrSpaceQual: Global
    919 define amdgpu_kernel void @test_vec_type_hint_long(i32 %a) #0
    920     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    921     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !31 {
    922   ret void
    923 }
    924 
    925 ; CHECK:      - Name:            test_vec_type_hint_unknown
    926 ; CHECK-NEXT:   SymbolName:      'test_vec_type_hint_unknown@kd'
    927 ; CHECK-NEXT:   Language:        OpenCL C
    928 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    929 ; CHECK-NEXT:   Attrs:
    930 ; CHECK-NEXT:       VecTypeHint:   unknown
    931 ; CHECK-NEXT:   Args:
    932 ; CHECK-NEXT:     - Name:          a
    933 ; CHECK-NEXT:       TypeName:      int
    934 ; CHECK-NEXT:       Size:          4
    935 ; CHECK-NEXT:       Align:         4
    936 ; CHECK-NEXT:       ValueKind:     ByValue
    937 ; CHECK-NEXT:       ValueType:     I32
    938 ; CHECK-NEXT:       AccQual:       Default
    939 ; CHECK-NEXT:     - Size:          8
    940 ; CHECK-NEXT:       Align:         8
    941 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
    942 ; CHECK-NEXT:       ValueType:     I64
    943 ; CHECK-NEXT:     - Size:          8
    944 ; CHECK-NEXT:       Align:         8
    945 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
    946 ; CHECK-NEXT:       ValueType:     I64
    947 ; CHECK-NEXT:     - Size:          8
    948 ; CHECK-NEXT:       Align:         8
    949 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
    950 ; CHECK-NEXT:       ValueType:     I64
    951 ; CHECK-NEXT:     - Size:          8
    952 ; CHECK-NEXT:       Align:         8
    953 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
    954 ; CHECK-NEXT:       ValueType:     I8
    955 ; CHECK-NEXT:       AddrSpaceQual: Global
    956 define amdgpu_kernel void @test_vec_type_hint_unknown(i32 %a) #0
    957     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    958     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !32 {
    959   ret void
    960 }
    961 
    962 ; CHECK:      - Name:            test_reqd_wgs_vec_type_hint
    963 ; CHECK-NEXT:   SymbolName:      'test_reqd_wgs_vec_type_hint@kd'
    964 ; CHECK-NEXT:   Language:        OpenCL C
    965 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
    966 ; CHECK-NEXT:   Attrs:
    967 ; CHECK-NEXT:       ReqdWorkGroupSize: [ 1, 2, 4 ]
    968 ; CHECK-NEXT:       VecTypeHint:       int
    969 ; CHECK-NEXT:   Args:
    970 ; CHECK-NEXT:     - Name:              a
    971 ; CHECK-NEXT:       TypeName:          int
    972 ; CHECK-NEXT:       Size:              4
    973 ; CHECK-NEXT:       Align:             4
    974 ; CHECK-NEXT:       ValueKind:         ByValue
    975 ; CHECK-NEXT:       ValueType:         I32
    976 ; CHECK-NEXT:       AccQual:           Default
    977 ; CHECK-NEXT:     - Size:              8
    978 ; CHECK-NEXT:       Align:             8
    979 ; CHECK-NEXT:       ValueKind:         HiddenGlobalOffsetX
    980 ; CHECK-NEXT:       ValueType:         I64
    981 ; CHECK-NEXT:     - Size:              8
    982 ; CHECK-NEXT:       Align:             8
    983 ; CHECK-NEXT:       ValueKind:         HiddenGlobalOffsetY
    984 ; CHECK-NEXT:       ValueType:         I64
    985 ; CHECK-NEXT:     - Size:              8
    986 ; CHECK-NEXT:       Align:             8
    987 ; CHECK-NEXT:       ValueKind:         HiddenGlobalOffsetZ
    988 ; CHECK-NEXT:       ValueType:         I64
    989 ; CHECK-NEXT:     - Size:              8
    990 ; CHECK-NEXT:       Align:             8
    991 ; CHECK-NEXT:       ValueKind:         HiddenPrintfBuffer
    992 ; CHECK-NEXT:       ValueType:         I8
    993 ; CHECK-NEXT:       AddrSpaceQual:     Global
    994 define amdgpu_kernel void @test_reqd_wgs_vec_type_hint(i32 %a) #0
    995     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
    996     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !5
    997     !reqd_work_group_size !6 {
    998   ret void
    999 }
   1000 
   1001 ; CHECK:      - Name:            test_wgs_hint_vec_type_hint
   1002 ; CHECK-NEXT:   SymbolName:      'test_wgs_hint_vec_type_hint@kd'
   1003 ; CHECK-NEXT:   Language:        OpenCL C
   1004 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1005 ; CHECK-NEXT:   Attrs:
   1006 ; CHECK-NEXT:       WorkGroupSizeHint: [ 8, 16, 32 ]
   1007 ; CHECK-NEXT:       VecTypeHint:       uint4
   1008 ; CHECK-NEXT:   Args:
   1009 ; CHECK-NEXT:     - Name:              a
   1010 ; CHECK-NEXT:       TypeName:          int
   1011 ; CHECK-NEXT:       Size:              4
   1012 ; CHECK-NEXT:       Align:             4
   1013 ; CHECK-NEXT:       ValueKind:         ByValue
   1014 ; CHECK-NEXT:       ValueType:         I32
   1015 ; CHECK-NEXT:       AccQual:           Default
   1016 ; CHECK-NEXT:     - Size:              8
   1017 ; CHECK-NEXT:       Align:             8
   1018 ; CHECK-NEXT:       ValueKind:         HiddenGlobalOffsetX
   1019 ; CHECK-NEXT:       ValueType:         I64
   1020 ; CHECK-NEXT:     - Size:              8
   1021 ; CHECK-NEXT:       Align:             8
   1022 ; CHECK-NEXT:       ValueKind:         HiddenGlobalOffsetY
   1023 ; CHECK-NEXT:       ValueType:         I64
   1024 ; CHECK-NEXT:     - Size:              8
   1025 ; CHECK-NEXT:       Align:             8
   1026 ; CHECK-NEXT:       ValueKind:         HiddenGlobalOffsetZ
   1027 ; CHECK-NEXT:       ValueType:         I64
   1028 ; CHECK-NEXT:     - Size:              8
   1029 ; CHECK-NEXT:       Align:             8
   1030 ; CHECK-NEXT:       ValueKind:         HiddenPrintfBuffer
   1031 ; CHECK-NEXT:       ValueType:         I8
   1032 ; CHECK-NEXT:       AddrSpaceQual:     Global
   1033 define amdgpu_kernel void @test_wgs_hint_vec_type_hint(i32 %a) #0
   1034     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
   1035     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 !vec_type_hint !7
   1036     !work_group_size_hint !8 {
   1037   ret void
   1038 }
   1039 
   1040 ; CHECK:      - Name:            test_arg_ptr_to_ptr
   1041 ; CHECK-NEXT:   SymbolName:      'test_arg_ptr_to_ptr@kd'
   1042 ; CHECK-NEXT:   Language:        OpenCL C
   1043 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1044 ; CHECK-NEXT:   Args:
   1045 ; CHECK-NEXT:     - Name:          a
   1046 ; CHECK-NEXT:       TypeName:      'int  addrspace(5)* addrspace(5)*'
   1047 ; CHECK-NEXT:       Size:          8
   1048 ; CHECK-NEXT:       Align:         8
   1049 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
   1050 ; CHECK-NEXT:       ValueType:     I32
   1051 ; CHECK-NEXT:       AddrSpaceQual: Global
   1052 ; CHECK-NEXT:       AccQual:       Default
   1053 ; CHECK-NEXT:     - Size:          8
   1054 ; CHECK-NEXT:       Align:         8
   1055 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1056 ; CHECK-NEXT:       ValueType:     I64
   1057 ; CHECK-NEXT:     - Size:          8
   1058 ; CHECK-NEXT:       Align:         8
   1059 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1060 ; CHECK-NEXT:       ValueType:     I64
   1061 ; CHECK-NEXT:     - Size:          8
   1062 ; CHECK-NEXT:       Align:         8
   1063 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1064 ; CHECK-NEXT:       ValueType:     I64
   1065 ; CHECK-NEXT:     - Size:          8
   1066 ; CHECK-NEXT:       Align:         8
   1067 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1068 ; CHECK-NEXT:       ValueType:     I8
   1069 ; CHECK-NEXT:       AddrSpaceQual: Global
   1070 define amdgpu_kernel void @test_arg_ptr_to_ptr(i32 addrspace(5)* addrspace(1)* %a) #0
   1071     !kernel_arg_addr_space !81 !kernel_arg_access_qual !2 !kernel_arg_type !80
   1072     !kernel_arg_base_type !80 !kernel_arg_type_qual !4 {
   1073   ret void
   1074 }
   1075 
   1076 ; CHECK:      - Name:            test_arg_struct_contains_ptr
   1077 ; CHECK-NEXT:   SymbolName:      'test_arg_struct_contains_ptr@kd'
   1078 ; CHECK-NEXT:   Language:        OpenCL C
   1079 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1080 ; CHECK-NEXT:   Args:
   1081 ; CHECK-NEXT:     - Name:          a
   1082 ; CHECK-NEXT:       TypeName:      struct B
   1083 ; CHECK-NEXT:       Size:          4
   1084 ; CHECK-NEXT:       Align:         4
   1085 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
   1086 ; CHECK-NEXT:       ValueType:     Struct
   1087 ; CHECK-NEXT:       AddrSpaceQual: Private
   1088 ; CHECK-NEXT:       AccQual:       Default
   1089 ; CHECK-NEXT:     - Size:          8
   1090 ; CHECK-NEXT:       Align:         8
   1091 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1092 ; CHECK-NEXT:       ValueType:     I64
   1093 ; CHECK-NEXT:     - Size:          8
   1094 ; CHECK-NEXT:       Align:         8
   1095 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1096 ; CHECK-NEXT:       ValueType:     I64
   1097 ; CHECK-NEXT:     - Size:          8
   1098 ; CHECK-NEXT:       Align:         8
   1099 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1100 ; CHECK-NEXT:       ValueType:     I64
   1101 ; CHECK-NEXT:     - Size:          8
   1102 ; CHECK-NEXT:       Align:         8
   1103 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1104 ; CHECK-NEXT:       ValueType:     I8
   1105 ; CHECK-NEXT:       AddrSpaceQual: Global
   1106 define amdgpu_kernel void @test_arg_struct_contains_ptr(%struct.B addrspace(5)* byval %a) #0
   1107     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !82
   1108     !kernel_arg_base_type !82 !kernel_arg_type_qual !4 {
   1109  ret void
   1110 }
   1111 
   1112 ; CHECK:      - Name:            test_arg_vector_of_ptr
   1113 ; CHECK-NEXT:   SymbolName:      'test_arg_vector_of_ptr@kd'
   1114 ; CHECK-NEXT:   Language:        OpenCL C
   1115 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1116 ; CHECK-NEXT:   Args:
   1117 ; CHECK-NEXT:     - Name:          a
   1118 ; CHECK-NEXT:       TypeName:      'global int addrspace(5)* __attribute__((ext_vector_type(2)))'
   1119 ; CHECK-NEXT:       Size:          16
   1120 ; CHECK-NEXT:       Align:         16
   1121 ; CHECK-NEXT:       ValueKind:     ByValue
   1122 ; CHECK-NEXT:       ValueType:     I32
   1123 ; CHECK-NEXT:       AccQual:       Default
   1124 ; CHECK-NEXT:     - Size:          8
   1125 ; CHECK-NEXT:       Align:         8
   1126 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1127 ; CHECK-NEXT:       ValueType:     I64
   1128 ; CHECK-NEXT:     - Size:          8
   1129 ; CHECK-NEXT:       Align:         8
   1130 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1131 ; CHECK-NEXT:       ValueType:     I64
   1132 ; CHECK-NEXT:     - Size:          8
   1133 ; CHECK-NEXT:       Align:         8
   1134 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1135 ; CHECK-NEXT:       ValueType:     I64
   1136 ; CHECK-NEXT:     - Size:          8
   1137 ; CHECK-NEXT:       Align:         8
   1138 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1139 ; CHECK-NEXT:       ValueType:     I8
   1140 ; CHECK-NEXT:       AddrSpaceQual: Global
   1141 define amdgpu_kernel void @test_arg_vector_of_ptr(<2 x i32 addrspace(1)*> %a) #0
   1142     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !83
   1143     !kernel_arg_base_type !83 !kernel_arg_type_qual !4 {
   1144   ret void
   1145 }
   1146 
   1147 ; CHECK:      - Name:            test_arg_unknown_builtin_type
   1148 ; CHECK-NEXT:   SymbolName:      'test_arg_unknown_builtin_type@kd'
   1149 ; CHECK-NEXT:   Language:        OpenCL C
   1150 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1151 ; CHECK-NEXT:   Args:
   1152 ; CHECK-NEXT:     - Name:          a
   1153 ; CHECK-NEXT:       TypeName:      clk_event_t
   1154 ; CHECK-NEXT:       Size:          8
   1155 ; CHECK-NEXT:       Align:         8
   1156 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
   1157 ; CHECK-NEXT:       ValueType:     Struct
   1158 ; CHECK-NEXT:       AddrSpaceQual: Global
   1159 ; CHECK-NEXT:       AccQual:       Default
   1160 ; CHECK-NEXT:     - Size:          8
   1161 ; CHECK-NEXT:       Align:         8
   1162 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1163 ; CHECK-NEXT:       ValueType:     I64
   1164 ; CHECK-NEXT:     - Size:          8
   1165 ; CHECK-NEXT:       Align:         8
   1166 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1167 ; CHECK-NEXT:       ValueType:     I64
   1168 ; CHECK-NEXT:     - Size:          8
   1169 ; CHECK-NEXT:       Align:         8
   1170 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1171 ; CHECK-NEXT:       ValueType:     I64
   1172 ; CHECK-NEXT:     - Size:          8
   1173 ; CHECK-NEXT:       Align:         8
   1174 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1175 ; CHECK-NEXT:       ValueType:     I8
   1176 ; CHECK-NEXT:       AddrSpaceQual: Global
   1177 define amdgpu_kernel void @test_arg_unknown_builtin_type(
   1178     %opencl.clk_event_t addrspace(1)* %a) #0
   1179     !kernel_arg_addr_space !81 !kernel_arg_access_qual !2 !kernel_arg_type !84
   1180     !kernel_arg_base_type !84 !kernel_arg_type_qual !4 {
   1181   ret void
   1182 }
   1183 
   1184 ; CHECK:      - Name:            test_pointee_align
   1185 ; CHECK-NEXT:   SymbolName:      'test_pointee_align@kd'
   1186 ; CHECK-NEXT:   Language:        OpenCL C
   1187 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1188 ; CHECK-NEXT:   Args:
   1189 ; CHECK-NEXT:     - Name:          a
   1190 ; CHECK-NEXT:       TypeName:      'long  addrspace(5)*'
   1191 ; CHECK-NEXT:       Size:          8
   1192 ; CHECK-NEXT:       Align:         8
   1193 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
   1194 ; CHECK-NEXT:       ValueType:     I64
   1195 ; CHECK-NEXT:       AddrSpaceQual: Global
   1196 ; CHECK-NEXT:       AccQual:       Default
   1197 ; CHECK-NEXT:     - Name:          b
   1198 ; CHECK-NEXT:       TypeName:      'char  addrspace(5)*'
   1199 ; CHECK-NEXT:       Size:          4
   1200 ; CHECK-NEXT:       Align:         4
   1201 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1202 ; CHECK-NEXT:       ValueType:     I8
   1203 ; CHECK-NEXT:       PointeeAlign:  1
   1204 ; CHECK-NEXT:       AddrSpaceQual: Local
   1205 ; CHECK-NEXT:       AccQual:       Default
   1206 ; CHECK-NEXT:     - Name:          c
   1207 ; CHECK-NEXT:       TypeName:      'char2  addrspace(5)*'
   1208 ; CHECK-NEXT:       Size:          4
   1209 ; CHECK-NEXT:       Align:         4
   1210 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1211 ; CHECK-NEXT:       ValueType:     I8
   1212 ; CHECK-NEXT:       PointeeAlign:  2
   1213 ; CHECK-NEXT:       AddrSpaceQual: Local
   1214 ; CHECK-NEXT:       AccQual:       Default
   1215 ; CHECK-NEXT:     - Name:          d
   1216 ; CHECK-NEXT:       TypeName:      'char3  addrspace(5)*'
   1217 ; CHECK-NEXT:       Size:          4
   1218 ; CHECK-NEXT:       Align:         4
   1219 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1220 ; CHECK-NEXT:       ValueType:     I8
   1221 ; CHECK-NEXT:       PointeeAlign:  4
   1222 ; CHECK-NEXT:       AddrSpaceQual: Local
   1223 ; CHECK-NEXT:       AccQual:       Default
   1224 ; CHECK-NEXT:     - Name:          e
   1225 ; CHECK-NEXT:       TypeName:      'char4  addrspace(5)*'
   1226 ; CHECK-NEXT:       Size:          4
   1227 ; CHECK-NEXT:       Align:         4
   1228 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1229 ; CHECK-NEXT:       ValueType:     I8
   1230 ; CHECK-NEXT:       PointeeAlign:  4
   1231 ; CHECK-NEXT:       AddrSpaceQual: Local
   1232 ; CHECK-NEXT:       AccQual:       Default
   1233 ; CHECK-NEXT:     - Name:          f
   1234 ; CHECK-NEXT:       TypeName:      'char8  addrspace(5)*'
   1235 ; CHECK-NEXT:       Size:          4
   1236 ; CHECK-NEXT:       Align:         4
   1237 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1238 ; CHECK-NEXT:       ValueType:     I8
   1239 ; CHECK-NEXT:       PointeeAlign:  8
   1240 ; CHECK-NEXT:       AddrSpaceQual: Local
   1241 ; CHECK-NEXT:       AccQual:       Default
   1242 ; CHECK-NEXT:     - Name:          g
   1243 ; CHECK-NEXT:       TypeName:      'char16  addrspace(5)*'
   1244 ; CHECK-NEXT:       Size:          4
   1245 ; CHECK-NEXT:       Align:         4
   1246 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1247 ; CHECK-NEXT:       ValueType:     I8
   1248 ; CHECK-NEXT:       PointeeAlign:  16
   1249 ; CHECK-NEXT:       AddrSpaceQual: Local
   1250 ; CHECK-NEXT:       AccQual:       Default
   1251 ; CHECK-NEXT:      - Name:            h
   1252 ; CHECK-NEXT:        Size:            4
   1253 ; CHECK-NEXT:        Align:           4
   1254 ; CHECK-NEXT:        ValueKind:       DynamicSharedPointer
   1255 ; CHECK-NEXT:        ValueType:       Struct
   1256 ; CHECK-NEXT:        PointeeAlign:    1
   1257 ; CHECK-NEXT:        AddrSpaceQual:   Local
   1258 ; CHECK-NEXT:     - Size:          8
   1259 ; CHECK-NEXT:       Align:         8
   1260 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1261 ; CHECK-NEXT:       ValueType:     I64
   1262 ; CHECK-NEXT:     - Size:          8
   1263 ; CHECK-NEXT:       Align:         8
   1264 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1265 ; CHECK-NEXT:       ValueType:     I64
   1266 ; CHECK-NEXT:     - Size:          8
   1267 ; CHECK-NEXT:       Align:         8
   1268 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1269 ; CHECK-NEXT:       ValueType:     I64
   1270 ; CHECK-NEXT:     - Size:          8
   1271 ; CHECK-NEXT:       Align:         8
   1272 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1273 ; CHECK-NEXT:       ValueType:     I8
   1274 ; CHECK-NEXT:       AddrSpaceQual: Global
   1275 define amdgpu_kernel void @test_pointee_align(i64 addrspace(1)* %a,
   1276                                               i8 addrspace(3)* %b,
   1277                                               <2 x i8> addrspace(3)* %c,
   1278                                               <3 x i8> addrspace(3)* %d,
   1279                                               <4 x i8> addrspace(3)* %e,
   1280                                               <8 x i8> addrspace(3)* %f,
   1281                                               <16 x i8> addrspace(3)* %g,
   1282                                               {} addrspace(3)* %h) #0
   1283     !kernel_arg_addr_space !91 !kernel_arg_access_qual !92 !kernel_arg_type !93
   1284     !kernel_arg_base_type !93 !kernel_arg_type_qual !94 {
   1285   ret void
   1286 }
   1287 
   1288 ; CHECK:      - Name:            test_pointee_align_attribute
   1289 ; CHECK-NEXT:   SymbolName:      'test_pointee_align_attribute@kd'
   1290 ; CHECK-NEXT:   Language:        OpenCL C
   1291 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1292 ; CHECK-NEXT:   Args:
   1293 ; CHECK-NEXT:     - Name:          a
   1294 ; CHECK-NEXT:       TypeName:      'long  addrspace(5)*'
   1295 ; CHECK-NEXT:       Size:          8
   1296 ; CHECK-NEXT:       Align:         8
   1297 ; CHECK-NEXT:       ValueKind:     GlobalBuffer
   1298 ; CHECK-NEXT:       ValueType:     I64
   1299 ; CHECK-NEXT:       AddrSpaceQual: Global
   1300 ; CHECK-NEXT:       AccQual:       Default
   1301 ; CHECK-NEXT:     - Name:          b
   1302 ; CHECK-NEXT:       TypeName:      'char  addrspace(5)*'
   1303 ; CHECK-NEXT:       Size:          4
   1304 ; CHECK-NEXT:       Align:         4
   1305 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1306 ; CHECK-NEXT:       ValueType:     I8
   1307 ; CHECK-NEXT:       PointeeAlign:  8
   1308 ; CHECK-NEXT:       AddrSpaceQual: Local
   1309 ; CHECK-NEXT:       AccQual:       Default
   1310 ; CHECK-NEXT:     - Name:          c
   1311 ; CHECK-NEXT:       TypeName:      'char2  addrspace(5)*'
   1312 ; CHECK-NEXT:       Size:          4
   1313 ; CHECK-NEXT:       Align:         4
   1314 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1315 ; CHECK-NEXT:       ValueType:     I8
   1316 ; CHECK-NEXT:       PointeeAlign:  32
   1317 ; CHECK-NEXT:       AddrSpaceQual: Local
   1318 ; CHECK-NEXT:       AccQual:       Default
   1319 ; CHECK-NEXT:     - Name:          d
   1320 ; CHECK-NEXT:       TypeName:      'char3  addrspace(5)*'
   1321 ; CHECK-NEXT:       Size:          4
   1322 ; CHECK-NEXT:       Align:         4
   1323 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1324 ; CHECK-NEXT:       ValueType:     I8
   1325 ; CHECK-NEXT:       PointeeAlign:  64
   1326 ; CHECK-NEXT:       AddrSpaceQual: Local
   1327 ; CHECK-NEXT:       AccQual:       Default
   1328 ; CHECK-NEXT:     - Name:          e
   1329 ; CHECK-NEXT:       TypeName:      'char4  addrspace(5)*'
   1330 ; CHECK-NEXT:       Size:          4
   1331 ; CHECK-NEXT:       Align:         4
   1332 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1333 ; CHECK-NEXT:       ValueType:     I8
   1334 ; CHECK-NEXT:       PointeeAlign:  256
   1335 ; CHECK-NEXT:       AddrSpaceQual: Local
   1336 ; CHECK-NEXT:       AccQual:       Default
   1337 ; CHECK-NEXT:     - Name:          f
   1338 ; CHECK-NEXT:       TypeName:      'char8  addrspace(5)*'
   1339 ; CHECK-NEXT:       Size:          4
   1340 ; CHECK-NEXT:       Align:         4
   1341 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1342 ; CHECK-NEXT:       ValueType:     I8
   1343 ; CHECK-NEXT:       PointeeAlign:  128
   1344 ; CHECK-NEXT:       AddrSpaceQual: Local
   1345 ; CHECK-NEXT:       AccQual:       Default
   1346 ; CHECK-NEXT:     - Name:          g
   1347 ; CHECK-NEXT:       TypeName:      'char16  addrspace(5)*'
   1348 ; CHECK-NEXT:       Size:          4
   1349 ; CHECK-NEXT:       Align:         4
   1350 ; CHECK-NEXT:       ValueKind:     DynamicSharedPointer
   1351 ; CHECK-NEXT:       ValueType:     I8
   1352 ; CHECK-NEXT:       PointeeAlign:  1024
   1353 ; CHECK-NEXT:       AddrSpaceQual: Local
   1354 ; CHECK-NEXT:       AccQual:       Default
   1355 ; CHECK-NEXT:      - Name:            h
   1356 ; CHECK-NEXT:        Size:            4
   1357 ; CHECK-NEXT:        Align:           4
   1358 ; CHECK-NEXT:        ValueKind:       DynamicSharedPointer
   1359 ; CHECK-NEXT:        ValueType:       Struct
   1360 ; CHECK-NEXT:        PointeeAlign:    16
   1361 ; CHECK-NEXT:        AddrSpaceQual:   Local
   1362 ; CHECK-NEXT:     - Size:          8
   1363 ; CHECK-NEXT:       Align:         8
   1364 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1365 ; CHECK-NEXT:       ValueType:     I64
   1366 ; CHECK-NEXT:     - Size:          8
   1367 ; CHECK-NEXT:       Align:         8
   1368 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1369 ; CHECK-NEXT:       ValueType:     I64
   1370 ; CHECK-NEXT:     - Size:          8
   1371 ; CHECK-NEXT:       Align:         8
   1372 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1373 ; CHECK-NEXT:       ValueType:     I64
   1374 ; CHECK-NEXT:     - Size:          8
   1375 ; CHECK-NEXT:       Align:         8
   1376 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1377 ; CHECK-NEXT:       ValueType:     I8
   1378 ; CHECK-NEXT:       AddrSpaceQual: Global
   1379 define amdgpu_kernel void @test_pointee_align_attribute(i64 addrspace(1)* align 16 %a,
   1380                                                         i8 addrspace(3)* align 8 %b,
   1381                                                         <2 x i8> addrspace(3)* align 32 %c,
   1382                                                         <3 x i8> addrspace(3)* align 64 %d,
   1383                                                         <4 x i8> addrspace(3)* align 256 %e,
   1384                                                         <8 x i8> addrspace(3)* align 128 %f,
   1385                                                         <16 x i8> addrspace(3)* align 1024 %g,
   1386                                                         {} addrspace(3)* align 16 %h) #0
   1387     !kernel_arg_addr_space !91 !kernel_arg_access_qual !92 !kernel_arg_type !93
   1388     !kernel_arg_base_type !93 !kernel_arg_type_qual !94 {
   1389   ret void
   1390 }
   1391 
   1392 
   1393 ; CHECK:      - Name:            __test_block_invoke_kernel
   1394 ; CHECK-NEXT:   SymbolName:      '__test_block_invoke_kernel@kd'
   1395 ; CHECK-NEXT:   Language:        OpenCL C
   1396 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1397 ; CHECK-NEXT:   Attrs:
   1398 ; CHECK-NEXT:       RuntimeHandle: __test_block_invoke_kernel_runtime_handle
   1399 ; CHECK-NEXT:   Args:
   1400 ; CHECK-NEXT:     - Name:          arg
   1401 ; CHECK-NEXT:       TypeName:      __block_literal
   1402 ; CHECK-NEXT:       Size:          25
   1403 ; CHECK-NEXT:       Align:         1
   1404 ; CHECK-NEXT:       ValueKind:     ByValue
   1405 ; CHECK-NEXT:       ValueType:     Struct
   1406 ; CHECK-NEXT:       AccQual:       Default
   1407 ; CHECK-NEXT:     - Size:          8
   1408 ; CHECK-NEXT:       Align:         8
   1409 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1410 ; CHECK-NEXT:       ValueType:     I64
   1411 ; CHECK-NEXT:     - Size:          8
   1412 ; CHECK-NEXT:       Align:         8
   1413 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1414 ; CHECK-NEXT:       ValueType:     I64
   1415 ; CHECK-NEXT:     - Size:          8
   1416 ; CHECK-NEXT:       Align:         8
   1417 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1418 ; CHECK-NEXT:       ValueType:     I64
   1419 ; CHECK-NEXT:     - Size:          8
   1420 ; CHECK-NEXT:       Align:         8
   1421 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1422 ; CHECK-NEXT:       ValueType:     I8
   1423 ; CHECK-NEXT:       AddrSpaceQual: Global
   1424 define amdgpu_kernel void @__test_block_invoke_kernel(
   1425     <{ i32, i32, i8*, i8 addrspace(1)*, i8 }> %arg) #1
   1426     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !110
   1427     !kernel_arg_base_type !110 !kernel_arg_type_qual !4 {
   1428   ret void
   1429 }
   1430 
   1431 ; CHECK:      - Name:            test_enqueue_kernel_caller
   1432 ; CHECK-NEXT:   SymbolName:      'test_enqueue_kernel_caller@kd'
   1433 ; CHECK-NEXT:   Language:        OpenCL C
   1434 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
   1435 ; CHECK-NEXT:   Args:
   1436 ; CHECK-NEXT:     - Name:          a
   1437 ; CHECK-NEXT:       TypeName:      char
   1438 ; CHECK-NEXT:       Size:          1
   1439 ; CHECK-NEXT:       Align:         1
   1440 ; CHECK-NEXT:       ValueKind:     ByValue
   1441 ; CHECK-NEXT:       ValueType:     I8
   1442 ; CHECK-NEXT:       AccQual:       Default
   1443 ; CHECK-NEXT:     - Size:          8
   1444 ; CHECK-NEXT:       Align:         8
   1445 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
   1446 ; CHECK-NEXT:       ValueType:     I64
   1447 ; CHECK-NEXT:     - Size:          8
   1448 ; CHECK-NEXT:       Align:         8
   1449 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
   1450 ; CHECK-NEXT:       ValueType:     I64
   1451 ; CHECK-NEXT:     - Size:          8
   1452 ; CHECK-NEXT:       Align:         8
   1453 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
   1454 ; CHECK-NEXT:       ValueType:     I64
   1455 ; CHECK-NEXT:     - Size:          8
   1456 ; CHECK-NEXT:       Align:         8
   1457 ; CHECK-NEXT:       ValueKind:     HiddenPrintfBuffer
   1458 ; CHECK-NEXT:       ValueType:     I8
   1459 ; CHECK-NEXT:       AddrSpaceQual: Global
   1460 ; CHECK-NEXT:     - Size:          8
   1461 ; CHECK-NEXT:       Align:         8
   1462 ; CHECK-NEXT:       ValueKind:     HiddenDefaultQueue
   1463 ; CHECK-NEXT:       ValueType:     I8
   1464 ; CHECK-NEXT:       AddrSpaceQual: Global
   1465 ; CHECK-NEXT:     - Size:          8
   1466 ; CHECK-NEXT:       Align:         8
   1467 ; CHECK-NEXT:       ValueKind:     HiddenCompletionAction
   1468 ; CHECK-NEXT:       ValueType:     I8
   1469 ; CHECK-NEXT:       AddrSpaceQual: Global
   1470 define amdgpu_kernel void @test_enqueue_kernel_caller(i8 %a) #2
   1471     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !9
   1472     !kernel_arg_base_type !9 !kernel_arg_type_qual !4 {
   1473   ret void
   1474 }
   1475 
   1476 attributes #0 = { "amdgpu-implicitarg-num-bytes"="48" }
   1477 attributes #1 = { "amdgpu-implicitarg-num-bytes"="48" "runtime-handle"="__test_block_invoke_kernel_runtime_handle" }
   1478 attributes #2 = { "amdgpu-implicitarg-num-bytes"="48" "calls-enqueue-kernel" }
   1479 
   1480 !llvm.printf.fmts = !{!100, !101}
   1481 
   1482 !1 = !{i32 0}
   1483 !2 = !{!"none"}
   1484 !3 = !{!"int"}
   1485 !4 = !{!""}
   1486 !5 = !{i32 undef, i32 1}
   1487 !6 = !{i32 1, i32 2, i32 4}
   1488 !7 = !{<4 x i32> undef, i32 0}
   1489 !8 = !{i32 8, i32 16, i32 32}
   1490 !9 = !{!"char"}
   1491 !10 = !{!"ushort2"}
   1492 !11 = !{!"int3"}
   1493 !12 = !{!"ulong4"}
   1494 !13 = !{!"half8"}
   1495 !14 = !{!"float16"}
   1496 !15 = !{!"double16"}
   1497 !16 = !{!"int  addrspace(5)*"}
   1498 !17 = !{!"image2d_t"}
   1499 !18 = !{!"sampler_t"}
   1500 !19 = !{!"queue_t"}
   1501 !20 = !{!"struct A"}
   1502 !21 = !{!"i128"}
   1503 !22 = !{i32 0, i32 0, i32 0}
   1504 !23 = !{!"none", !"none", !"none"}
   1505 !24 = !{!"int", !"short2", !"char3"}
   1506 !25 = !{!"", !"", !""}
   1507 !26 = !{half undef, i32 1}
   1508 !27 = !{float undef, i32 1}
   1509 !28 = !{double undef, i32 1}
   1510 !29 = !{i8 undef, i32 1}
   1511 !30 = !{i16 undef, i32 1}
   1512 !31 = !{i64 undef, i32 1}
   1513 !32 = !{i32  addrspace(5)*undef, i32 1}
   1514 !50 = !{i32 1, i32 2, i32 3}
   1515 !51 = !{!"int  addrspace(5)*", !"int  addrspace(5)*", !"int  addrspace(5)*"}
   1516 !60 = !{i32 1, i32 1, i32 1}
   1517 !61 = !{!"read_only", !"write_only", !"read_write"}
   1518 !62 = !{!"image1d_t", !"image2d_t", !"image3d_t"}
   1519 !70 = !{!"volatile", !"const restrict", !"pipe"}
   1520 !80 = !{!"int  addrspace(5)* addrspace(5)*"}
   1521 !81 = !{i32 1}
   1522 !82 = !{!"struct B"}
   1523 !83 = !{!"global int addrspace(5)* __attribute__((ext_vector_type(2)))"}
   1524 !84 = !{!"clk_event_t"}
   1525 !opencl.ocl.version = !{!90}
   1526 !90 = !{i32 2, i32 0}
   1527 !91 = !{i32 0, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3}
   1528 !92 = !{!"none", !"none", !"none", !"none", !"none", !"none", !"none"}
   1529 !93 = !{!"long  addrspace(5)*", !"char  addrspace(5)*", !"char2  addrspace(5)*", !"char3  addrspace(5)*", !"char4  addrspace(5)*", !"char8  addrspace(5)*", !"char16  addrspace(5)*"}
   1530 !94 = !{!"", !"", !"", !"", !"", !"", !""}
   1531 !100 = !{!"1:1:4:%d\5Cn"}
   1532 !101 = !{!"2:1:8:%g\5Cn"}
   1533 !110 = !{!"__block_literal"}
   1534 
   1535 ; PARSER: AMDGPU HSA Metadata Parser Test: PASS
   1536