1*67d3ef74SVyacheslav Levytskyy; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s 243222bd3SMichal Paszkowski; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} 343222bd3SMichal Paszkowski 443222bd3SMichal Paszkowski; CHECK-DAG: %[[#VOID:]] = OpTypeVoid 543222bd3SMichal Paszkowski; CHECK-DAG: %[[#INT32:]] = OpTypeInt 32 0 643222bd3SMichal Paszkowski; CHECK-DAG: %[[#STRUCT1:]] = OpTypeStruct %[[#INT32]] 743222bd3SMichal Paszkowski; CHECK-DAG: %[[#CONST:]] = OpConstant %[[#INT32]] 7 843222bd3SMichal Paszkowski; CHECK-DAG: %[[#ARRAY:]] = OpTypeArray %[[#STRUCT1]] %[[#CONST]] 943222bd3SMichal Paszkowski; CHECK-DAG: %[[#STRUCT2:]] = OpTypeStruct %[[#ARRAY]] 1043222bd3SMichal Paszkowski; CHECK-DAG: %[[#PTR:]] = OpTypePointer Function %[[#STRUCT2]] 1143222bd3SMichal Paszkowski 1243222bd3SMichal Paszkowski; CHECK: %[[#FUNC:]] = OpTypeFunction %[[#VOID]] %[[#PTR]] 1343222bd3SMichal Paszkowski; CHECK: %[[#]] = OpFunction %[[#VOID]] None %[[#FUNC]] 1443222bd3SMichal Paszkowski; CHECK: %[[#]] = OpFunctionParameter %[[#PTR]] 1543222bd3SMichal Paszkowski 1643222bd3SMichal Paszkowski%struct.S = type { i32 } 1743222bd3SMichal Paszkowski%struct.__wrapper_class = type { [7 x %struct.S] } 1843222bd3SMichal Paszkowski 1943222bd3SMichal Paszkowskidefine spir_kernel void @foo(ptr noundef byval(%struct.__wrapper_class) align 4 %_arg_Arr) { 2043222bd3SMichal Paszkowskientry: 2143222bd3SMichal Paszkowski ret void 2243222bd3SMichal Paszkowski} 23