1 ; RUN: opt < %s -S -speculative-execution \
2 ; RUN: -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \
5 ; CHECK-LABEL: @ifThen_bitcast(
8 define void @ifThen_bitcast() {
9 br i1 true, label %a, label %b
12 %x = bitcast i32 undef to float
19 ; CHECK-LABEL: @ifThen_ptrtoint(
22 define void @ifThen_ptrtoint() {
23 br i1 true, label %a, label %b
26 %x = ptrtoint i32* undef to i64
33 ; CHECK-LABEL: @ifThen_inttoptr(
36 define void @ifThen_inttoptr() {
37 br i1 true, label %a, label %b
40 %x = inttoptr i64 undef to i32*
47 ; CHECK-LABEL: @ifThen_addrspacecast(
48 ; CHECK: addrspacecast
50 define void @ifThen_addrspacecast() {
51 br i1 true, label %a, label %b
53 %x = addrspacecast i32* undef to i32 addrspace(1)*
60 ; CHECK-LABEL: @ifThen_fptoui(
63 define void @ifThen_fptoui() {
64 br i1 true, label %a, label %b
66 %x = fptoui float undef to i32
73 ; CHECK-LABEL: @ifThen_fptosi(
76 define void @ifThen_fptosi() {
77 br i1 true, label %a, label %b
79 %x = fptosi float undef to i32
86 ; CHECK-LABEL: @ifThen_uitofp(
89 define void @ifThen_uitofp() {
90 br i1 true, label %a, label %b
92 %x = uitofp i32 undef to float
99 ; CHECK-LABEL: @ifThen_sitofp(
102 define void @ifThen_sitofp() {
103 br i1 true, label %a, label %b
105 %x = sitofp i32 undef to float
112 ; CHECK-LABEL: @ifThen_fpext(
115 define void @ifThen_fpext() {
116 br i1 true, label %a, label %b
118 %x = fpext float undef to double
125 ; CHECK-LABEL: @ifThen_fptrunc(
128 define void @ifThen_fptrunc() {
129 br i1 true, label %a, label %b
131 %x = fptrunc double undef to float