1; RUN: llc -O0 -mtriple=spirv64-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-DAG: OpCapability Addresses 5 6; CHECK-DAG: OpCapability Linkage 7define spir_func void @func_export(i32 addrspace(1)* nocapture %a) { 8entry: 9; CHECK-DAG: OpCapability Int64 10 %call = tail call spir_func i64 @_Z13get_global_idj(i32 0) 11 %cmp = icmp eq i64 %call, 0 12 br i1 %cmp, label %if.then, label %if.end 13 14if.then: ; preds = %entry 15 store i32 1, i32 addrspace(1)* %a, align 4 16 br label %if.end 17 18if.end: ; preds = %if.then, %entry 19 ret void 20} 21 22declare spir_func i64 @_Z13get_global_idj(i32) 23 24; CHECK-DAG: OpCapability Kernel 25; CHECK-NOT: OpCapability Shader 26; CHECK-NOT: OpCapability Float64 27define spir_kernel void @func_kernel(i32 addrspace(1)* %a) { 28entry: 29 tail call spir_func void @func_import(i32 addrspace(1)* %a) 30 ret void 31} 32 33declare spir_func void @func_import(i32 addrspace(1)*) 34