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 Paszkowskitarget triple = "spirv64-unknown-unknown" 543222bd3SMichal Paszkowski 643222bd3SMichal Paszkowski; CHECK-DAG: %[[#VOID:]] = OpTypeVoid 743222bd3SMichal Paszkowski; CHECK-DAG: %[[#INT32:]] = OpTypeInt 32 0 843222bd3SMichal Paszkowski; CHECK-DAG: %[[#STRUCT1:]] = OpTypeStruct %[[#INT32]] 943222bd3SMichal Paszkowski; CHECK-DAG: %[[#CONST:]] = OpConstant %[[#INT32]] 7 1043222bd3SMichal Paszkowski; CHECK-DAG: %[[#ARRAY:]] = OpTypeArray %[[#STRUCT1]] %[[#CONST]] 1143222bd3SMichal Paszkowski; CHECK-DAG: %[[#STRUCT2:]] = OpTypeStruct %[[#ARRAY]] 1243222bd3SMichal Paszkowski; CHECK-DAG: %[[#PTR:]] = OpTypePointer Function %[[#STRUCT2]] 1343222bd3SMichal Paszkowski 1443222bd3SMichal Paszkowski; CHECK: %[[#FUNC:]] = OpTypeFunction %[[#VOID]] %[[#PTR]] 1543222bd3SMichal Paszkowski; CHECK: %[[#]] = OpFunction %[[#VOID]] None %[[#FUNC]] 1643222bd3SMichal Paszkowski; CHECK: %[[#]] = OpFunctionParameter %[[#PTR]] 1743222bd3SMichal Paszkowski 1843222bd3SMichal Paszkowski%struct.S = type { i32 } 1943222bd3SMichal Paszkowski%struct.__wrapper_class = type { [7 x %struct.S] } 2043222bd3SMichal Paszkowski 2143222bd3SMichal Paszkowskidefine spir_kernel void @foo(ptr noundef byref(%struct.__wrapper_class) align 4 %_arg_Arr) { 2243222bd3SMichal Paszkowskientry: 2343222bd3SMichal Paszkowski ret void 2443222bd3SMichal Paszkowski} 25