1 ; RUN: opt < %s -S -passes=speculative-execution \
2 ; RUN: -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \
5 ; CHECK-LABEL: @ifThen_shuffle(
8 define void @ifThen_shuffle() {
9 br i1 true, label %a, label %b
12 %x = shufflevector <2 x float> undef, <2 x float> poison, <2 x i32> zeroinitializer
19 ; CHECK-LABEL: @ifThen_extract(
20 ; CHECK: extractelement
22 define void @ifThen_extract() {
23 br i1 true, label %a, label %b
26 %x = extractelement <2 x float> undef, i32 1
34 ; CHECK-LABEL: @ifThen_insert(
35 ; CHECK: insertelement
37 define void @ifThen_insert() {
38 br i1 true, label %a, label %b
41 %x = insertelement <2 x float> poison, float undef, i32 1
48 ; CHECK-LABEL: @ifThen_extractvalue(
51 define void @ifThen_extractvalue() {
52 br i1 true, label %a, label %b
55 %x = extractvalue { i32, i32 } undef, 0
62 ; CHECK-LABEL: @ifThen_insertvalue(
65 define void @ifThen_insertvalue() {
66 br i1 true, label %a, label %b
69 %x = insertvalue { i32, i32 } undef, i32 undef, 0
76 ; CHECK-LABEL: @ifThen_freeze(
79 define void @ifThen_freeze() {
80 br i1 true, label %a, label %b