; RUN: opt -S -passes=spirv-legalize-zero-size-arrays -mtriple=spirv64-unknown-unknown < %s | FileCheck %s ; Test that select of zero-size array is replaced with poison. ; Can't run spirv-val as function signatures are not handled. ; RUNx: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} define [0 x i32] @test_select_zero_array(i1 %cond, [0 x i32] %a) { ; CHECK-LABEL: @test_select_zero_array( ; CHECK-NEXT: ret [0 x i32] poison %result = select i1 %cond, [0 x i32] zeroinitializer, [0 x i32] %a ret [0 x i32] %result }