34 lines · plain
1; RUN: llc -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s2; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %}3 4; CHECK-DAG: OpCapability Addresses5 6; CHECK-DAG: OpCapability Linkage7define spir_func void @func_export(i32 addrspace(1)* nocapture %a) {8entry:9; CHECK-DAG: OpCapability Int6410 %call = tail call spir_func i64 @_Z13get_global_idj(i32 0)11 %cmp = icmp eq i64 %call, 012 br i1 %cmp, label %if.then, label %if.end13 14if.then: ; preds = %entry15 store i32 1, i32 addrspace(1)* %a, align 416 br label %if.end17 18if.end: ; preds = %if.then, %entry19 ret void20}21 22declare spir_func i64 @_Z13get_global_idj(i32)23 24; CHECK-DAG: OpCapability Kernel25; CHECK-NOT: OpCapability Shader26; CHECK-NOT: OpCapability Float6427define spir_kernel void @func_kernel(i32 addrspace(1)* %a) {28entry:29 tail call spir_func void @func_import(i32 addrspace(1)* %a)30 ret void31}32 33declare spir_func void @func_import(i32 addrspace(1)*)34