xref: /llvm-project/llvm/test/CodeGen/SPIRV/image_decl_func_arg.ll (revision ec7baca17e78d47c1571d1c06b95f920562293da)
1; RUN: llc -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
2
3; CHECK-SPIRV:     %[[#TypeImage:]] = OpTypeImage
4; CHECK-SPIRV-NOT: OpTypeImage
5; CHECK-SPIRV:     %[[#]] = OpTypeFunction %[[#]] %[[#TypeImage]]
6; CHECK-SPIRV:     %[[#]] = OpTypeFunction %[[#]] %[[#TypeImage]]
7; CHECK-SPIRV:     %[[#]] = OpFunctionParameter %[[#TypeImage]]
8; CHECK-SPIRV:     %[[#]] = OpFunctionParameter %[[#TypeImage]]
9; CHECK-SPIRV:     %[[#ParamID:]] = OpFunctionParameter %[[#TypeImage]]
10; CHECK-SPIRV:     %[[#]] = OpFunctionCall %[[#]] %[[#]] %[[#ParamID]]
11
12define spir_func void @f0(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 0) %v2, <2 x float> %v3) {
13  ret void
14}
15
16define spir_func void @f1(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 0) %v2, <2 x float> %v3) {
17  ret void
18}
19
20define spir_kernel void @test(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 0) %v1) {
21  call spir_func void @f0(target("spirv.Image", void, 1, 0, 0, 0, 0, 0, 0) %v1, <2 x float> <float 1.000000e+00, float 5.000000e+00>)
22  ret void
23}
24