blob: f5524c77e7e5bb228e9ff12ac74e41eb68bae1be [file] [log] [blame]
; RUN: clspv-opt %s -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