blob: 40a3dcbe4afe06e493986df9b7cff92b0f020b79 [file] [log] [blame]
// RUN: clspv %s -o %t.spv -inline-entry-points
// RUN: spirv-dis -o %t2.spvasm %t.spv
// RUN: FileCheck %s < %t2.spvasm
// RUN: spirv-val --target-env vulkan1.0 %t.spv
int func_3(local int *in, int n) { return in[n]; }
int func_2(local int *in, int n) { return func_3(in, n); }
int func_1(local int *in, int n) { return func_2(in, n); }
kernel void kernel_1(local int *in, global int *out, int n) {
out[n] = func_1(in, n);
}
kernel void kernel_2(local int *in, global int *out, int n) {
out[n] = func_1(in, n);
}
int foo(local int *in, int n) { return func_3(in, n); }
// CHECK: OpEntryPoint GLCompute [[k1:%[0-9a-zA-Z_]+]] "kernel_1"
// CHECK: OpEntryPoint GLCompute [[k2:%[0-9a-zA-Z_]+]] "kernel_2"
// CHECK-NOT: OpFunction
// CHECK: [[k1]] = OpFunction
// CHECK-NOT: OpFunctionCall
// CHECK: OpFunctionEnd
// CHECK-NOT: OpFunction
// CHECK: [[k2]] = OpFunction
// CHECK-NOT: OpFunctionCall
// CHECK: OpFunctionEnd
// CHECK-NOT: OpFunction