; RUN: clspv-opt %s --passes=scalarize -o %t.ll -hack-phis
; RUN: FileCheck %s < %t.ll

target datalayout = "e-p:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024"
target triple = "spir-unknown-unknown"

%s = type { i32 }

define void @constant_struct(%s %in) {
entry:
  br i1 undef, label %if, label %exit

if:
  br label %exit

exit:
  %phi = phi %s [ %in, %entry ], [ { i32 1 }, %if ]
  ret void
}

; CHECK: entry:
; CHECK: [[ex:%[a-zA-Z0-9_.]+]] = extractvalue %s %in, 0
; CHECK: exit:
; CHECK-NOT: phi %s
; CHECK: [[phi:%[a-zA-Z0-9_.]+]] = phi i32 [ [[ex]], %entry ], [ 1, %if ]
; CHECK: insertvalue %s zeroinitializer, i32 [[phi]], 0
