; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck --check-prefixes=CHECK,SPIRV %s ; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-amd-amdhsa %s -o - | FileCheck --check-prefixes=CHECK,AMDGCNSPIRV %s ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} ; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-amd-amdhsa %s -o - -filetype=obj | spirv-val %} ; CHECK: OpName %[[#XKER:]] "x" ; CHECK-DAG: OpName %[[#XFN:]] "x" ; SPIRV-NOT: OpDecorate %[[#XKER]] FuncParamAttr ByVal ; AMDGCNSPIRV: OpDecorate %[[#XKER]] FuncParamAttr ByVal ; SPIRV-NOT: OpDecorate %[[#XFN]] FuncParamAttr ByVal ; AMDGCNSPIRV: OpDecorate %[[#XFN]] FuncParamAttr ByVal %struct.S = type { i32 } %struct.SS = type { [7 x %struct.S] } define spir_kernel void @ker(ptr addrspace(2) noundef byref(%struct.SS) %x) { entry: ret void } define spir_func void @fn(ptr noundef byref(%struct.SS) %x) { entry: ret void }