Home | History | Annotate | Download | only in AMDGPU
      1 ; 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
      2 ; 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
      3 
      4 ; CHECK: ---
      5 ; CHECK:  Version: [ 1, 0 ]
      6 ; CHECK-NOT:  Printf:
      7 ; CHECK:  Kernels:
      8 
      9 ; CHECK:      - Name:            test_non_enqueue_kernel_caller
     10 ; CHECK-NEXT:   SymbolName:      'test_non_enqueue_kernel_caller@kd'
     11 ; CHECK-NEXT:   Language:        OpenCL C
     12 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
     13 ; CHECK-NEXT:   Args:
     14 ; CHECK-NEXT:     - Name:          a
     15 ; CHECK-NEXT:       TypeName:      char
     16 ; CHECK-NEXT:       Size:          1
     17 ; CHECK-NEXT:       Align:         1
     18 ; CHECK-NEXT:       ValueKind:     ByValue
     19 ; CHECK-NEXT:       ValueType:     I8
     20 ; CHECK-NEXT:       AccQual:       Default
     21 ; CHECK-NEXT:     - Size:          8
     22 ; CHECK-NEXT:       Align:         8
     23 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
     24 ; CHECK-NEXT:       ValueType:     I64
     25 ; CHECK-NEXT:     - Size:          8
     26 ; CHECK-NEXT:       Align:         8
     27 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
     28 ; CHECK-NEXT:       ValueType:     I64
     29 ; CHECK-NEXT:     - Size:          8
     30 ; CHECK-NEXT:       Align:         8
     31 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
     32 ; CHECK-NEXT:       ValueType:     I64
     33 ; CHECK-NOT:        ValueKind:     HiddenDefaultQueue
     34 ; CHECK-NOT:        ValueKind:     HiddenCompletionAction
     35 define amdgpu_kernel void @test_non_enqueue_kernel_caller(i8 %a) #0
     36     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
     37     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 {
     38   ret void
     39 }
     40 
     41 ; CHECK:      - Name:            test_enqueue_kernel_caller
     42 ; CHECK-NEXT:   SymbolName:      'test_enqueue_kernel_caller@kd'
     43 ; CHECK-NEXT:   Language:        OpenCL C
     44 ; CHECK-NEXT:   LanguageVersion: [ 2, 0 ]
     45 ; CHECK-NEXT:   Args:
     46 ; CHECK-NEXT:     - Name:          a
     47 ; CHECK-NEXT:       TypeName:      char
     48 ; CHECK-NEXT:       Size:          1
     49 ; CHECK-NEXT:       Align:         1
     50 ; CHECK-NEXT:       ValueKind:     ByValue
     51 ; CHECK-NEXT:       ValueType:     I8
     52 ; CHECK-NEXT:       AccQual:       Default
     53 ; CHECK-NEXT:     - Size:          8
     54 ; CHECK-NEXT:       Align:         8
     55 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetX
     56 ; CHECK-NEXT:       ValueType:     I64
     57 ; CHECK-NEXT:     - Size:          8
     58 ; CHECK-NEXT:       Align:         8
     59 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetY
     60 ; CHECK-NEXT:       ValueType:     I64
     61 ; CHECK-NEXT:     - Size:          8
     62 ; CHECK-NEXT:       Align:         8
     63 ; CHECK-NEXT:       ValueKind:     HiddenGlobalOffsetZ
     64 ; CHECK-NEXT:       ValueType:     I64
     65 ; CHECK-NEXT:     - Size:          8
     66 ; CHECK-NEXT:       Align:         8
     67 ; CHECK-NEXT:       ValueKind:     HiddenNone
     68 ; CHECK-NEXT:       ValueType:     I8
     69 ; CHECK-NEXT:       AddrSpaceQual: Global
     70 ; CHECK-NEXT:     - Size:          8
     71 ; CHECK-NEXT:       Align:         8
     72 ; CHECK-NEXT:       ValueKind:     HiddenDefaultQueue
     73 ; CHECK-NEXT:       ValueType:     I8
     74 ; CHECK-NEXT:       AddrSpaceQual: Global
     75 ; CHECK-NEXT:     - Size:          8
     76 ; CHECK-NEXT:       Align:         8
     77 ; CHECK-NEXT:       ValueKind:     HiddenCompletionAction
     78 ; CHECK-NEXT:       ValueType:     I8
     79 ; CHECK-NEXT:       AddrSpaceQual: Global
     80 define amdgpu_kernel void @test_enqueue_kernel_caller(i8 %a) #1
     81     !kernel_arg_addr_space !1 !kernel_arg_access_qual !2 !kernel_arg_type !3
     82     !kernel_arg_base_type !3 !kernel_arg_type_qual !4 {
     83   ret void
     84 }
     85 
     86 attributes #0 = { "amdgpu-implicitarg-num-bytes"="48" }
     87 attributes #1 = { "calls-enqueue-kernel" "amdgpu-implicitarg-num-bytes"="48" }
     88 
     89 !1 = !{i32 0}
     90 !2 = !{!"none"}
     91 !3 = !{!"char"}
     92 !4 = !{!""}
     93 
     94 !opencl.ocl.version = !{!90}
     95 !90 = !{i32 2, i32 0}
     96 
     97 ; PARSER: AMDGPU HSA Metadata Parser Test: PASS
     98