[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / SpeculativeExecution / spec-other-inseltpoison.ll
blob9ac8390438b152f8f818867fa1546f92b11da0d3
1 ; RUN: opt < %s -S -passes=speculative-execution \
2 ; RUN:   -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \
3 ; RUN:   | FileCheck %s
5 ; CHECK-LABEL: @ifThen_shuffle(
6 ; CHECK: shufflevector
7 ; CHECK: br i1 true
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
13   br label %b
16   ret void
19 ; CHECK-LABEL: @ifThen_extract(
20 ; CHECK: extractelement
21 ; CHECK: br i1 true
22 define void @ifThen_extract() {
23   br i1 true, label %a, label %b
26   %x = extractelement <2 x float> undef, i32 1
27   br label %b
30   ret void
34 ; CHECK-LABEL: @ifThen_insert(
35 ; CHECK: insertelement
36 ; CHECK: br i1 true
37 define void @ifThen_insert() {
38   br i1 true, label %a, label %b
41   %x = insertelement <2 x float> poison, float undef, i32 1
42   br label %b
45   ret void
48 ; CHECK-LABEL: @ifThen_extractvalue(
49 ; CHECK: extractvalue
50 ; CHECK: br i1 true
51 define void @ifThen_extractvalue() {
52   br i1 true, label %a, label %b
55   %x = extractvalue { i32, i32 } undef, 0
56   br label %b
59   ret void
62 ; CHECK-LABEL: @ifThen_insertvalue(
63 ; CHECK: insertvalue
64 ; CHECK: br i1 true
65 define void @ifThen_insertvalue() {
66   br i1 true, label %a, label %b
69   %x = insertvalue { i32, i32 } undef, i32 undef, 0
70   br label %b
73   ret void
76 ; CHECK-LABEL: @ifThen_freeze(
77 ; CHECK: freeze
78 ; CHECK: br i1 true
79 define void @ifThen_freeze() {
80   br i1 true, label %a, label %b
83   %x = freeze i32 undef
84   br label %b
87   ret void