[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / SPIRV / pointers / kernel-argument-pointer-addressspace.ll
blob6d1202328197d9567caabbad98e955b1ad6c49ab
1 ; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s
3 ; CHECK-DAG:  %[[#INT:]] = OpTypeInt 32 0
4 ; CHECK-DAG:  %[[#PTR1:]] = OpTypePointer Function %[[#INT]]
5 ; CHECK-DAG:  %[[#ARG:]] = OpFunctionParameter %[[#PTR1]]
7 define spir_kernel void @test1(ptr addrspace(0) %arg1) !kernel_arg_addr_space !1 !kernel_arg_type !2 {
8   %a = getelementptr inbounds i32, ptr addrspace(0) %arg1, i32 2
9   ret void
12 !1 = !{i32 0}
13 !2 = !{!"int*"}
15 ; CHECK-DAG:  %[[#PTR2:]] = OpTypePointer CrossWorkgroup %[[#INT]]
16 ; CHECK-DAG:  %[[#ARG:]] = OpFunctionParameter %[[#PTR2]]
18 define spir_kernel void @test2(ptr addrspace(1) %arg1) !kernel_arg_addr_space !3 !kernel_arg_type !2 {
19   %a = getelementptr inbounds i32, ptr addrspace(1) %arg1, i32 2
20   ret void
23 !3 = !{i32 1}
25 ; CHECK-DAG:  %[[#PTR3:]] = OpTypePointer UniformConstant %[[#INT]]
26 ; CHECK-DAG:  %[[#ARG:]] = OpFunctionParameter %[[#PTR3]]
28 define spir_kernel void @test3(ptr addrspace(2) %arg1) !kernel_arg_addr_space !4 !kernel_arg_type !2 {
29   %a = getelementptr inbounds i32, ptr addrspace(2) %arg1, i32 2
30   ret void
33 !4 = !{i32 2}
35 ; CHECK-DAG:  %[[#PTR4:]] = OpTypePointer Workgroup %[[#INT]]
36 ; CHECK-DAG:  %[[#ARG:]] = OpFunctionParameter %[[#PTR4]]
38 define spir_kernel void @test4(ptr addrspace(3) %arg1) !kernel_arg_addr_space !5 !kernel_arg_type !2 {
39   %a = getelementptr inbounds i32, ptr addrspace(3) %arg1, i32 2
40   ret void
43 !5 = !{i32 3}
45 ; CHECK-DAG:  %[[#PTR5:]] = OpTypePointer Generic %[[#INT]]
46 ; CHECK-DAG:  %[[#ARG:]] = OpFunctionParameter %[[#PTR5]]
48 define spir_kernel void @test5(ptr addrspace(4) %arg1) !kernel_arg_addr_space !6 !kernel_arg_type !2 {
49   %a = getelementptr inbounds i32, ptr addrspace(4) %arg1, i32 2
50   ret void
53 !6 = !{i32 4}
55 ; CHECK-DAG:  %[[#PTR6:]] = OpTypePointer Input %[[#INT]]
56 ; CHECK-DAG:  %[[#ARG:]] = OpFunctionParameter %[[#PTR6]]
58 define spir_kernel void @test6(ptr addrspace(7) %arg1) !kernel_arg_addr_space !7 !kernel_arg_type !2 {
59   %a = getelementptr inbounds i32, ptr addrspace(7) %arg1, i32 2
60   ret void
63 !7 = !{i32 7}