xref: /llvm-project/llvm/test/CodeGen/SPIRV/pointers/custom-kernel-arg-type.ll (revision 67d3ef74b31e1517d4f679e754cc2b3041c95901)
1; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}
3
4; CHECK: %[[TyInt:.*]] = OpTypeInt 8 0
5; CHECK: %[[TyPtr:.*]] = OpTypePointer {{[a-zA-Z]+}} %[[TyInt]]
6; CHECK: OpFunctionParameter %[[TyPtr]]
7; CHECK: OpFunctionParameter %[[TyPtr]]
8
9%struct.my_kernel_data = type { i32, i32, i32, i32, i32 }
10%struct.my_struct = type { i32, i32 }
11
12define spir_kernel void @test(ptr addrspace(1) %in, ptr addrspace(1) %outData) !kernel_arg_type !5 {
13entry:
14  ret void
15}
16
17!llvm.module.flags = !{!0}
18!opencl.enable.FP_CONTRACT = !{}
19!opencl.ocl.version = !{!1}
20!opencl.spir.version = !{!2}
21!opencl.used.extensions = !{!3}
22!opencl.used.optional.core.features = !{!3}
23!opencl.compiler.options = !{!3}
24!llvm.ident = !{!4}
25!opencl.kernels = !{!6}
26
27!0 = !{i32 1, !"wchar_size", i32 4}
28!1 = !{i32 1, i32 0}
29!2 = !{i32 1, i32 2}
30!3 = !{}
31!4 = !{!"clang version 6.0.0"}
32!5 = !{!"my_kernel_data*", !"struct my_struct*"}
33!6 = !{ptr @test}
34
35