; RUN: opt < %s -S -passes=speculative-execution \ ; RUN: -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \ ; RUN: | FileCheck %s ; CHECK-LABEL: @ifThen_bitcast( ; CHECK: bitcast ; CHECK: br i1 true define void @ifThen_bitcast() { br i1 true, label %a, label %b a: %x = bitcast i32 undef to float br label %b b: ret void } ; CHECK-LABEL: @ifThen_ptrtoint( ; CHECK: ptrtoint ; CHECK: br i1 true define void @ifThen_ptrtoint() { br i1 true, label %a, label %b a: %x = ptrtoint i32* undef to i64 br label %b b: ret void } ; CHECK-LABEL: @ifThen_inttoptr( ; CHECK: inttoptr ; CHECK: br i1 true define void @ifThen_inttoptr() { br i1 true, label %a, label %b a: %x = inttoptr i64 undef to i32* br label %b b: ret void } ; CHECK-LABEL: @ifThen_addrspacecast( ; CHECK: addrspacecast ; CHECK: br i1 true define void @ifThen_addrspacecast() { br i1 true, label %a, label %b a: %x = addrspacecast i32* undef to i32 addrspace(1)* br label %b b: ret void } ; CHECK-LABEL: @ifThen_fptoui( ; CHECK: fptoui ; CHECK: br i1 true define void @ifThen_fptoui() { br i1 true, label %a, label %b a: %x = fptoui float undef to i32 br label %b b: ret void } ; CHECK-LABEL: @ifThen_fptosi( ; CHECK: fptosi ; CHECK: br i1 true define void @ifThen_fptosi() { br i1 true, label %a, label %b a: %x = fptosi float undef to i32 br label %b b: ret void } ; CHECK-LABEL: @ifThen_uitofp( ; CHECK: uitofp ; CHECK: br i1 true define void @ifThen_uitofp() { br i1 true, label %a, label %b a: %x = uitofp i32 undef to float br label %b b: ret void } ; CHECK-LABEL: @ifThen_sitofp( ; CHECK: sitofp ; CHECK: br i1 true define void @ifThen_sitofp() { br i1 true, label %a, label %b a: %x = sitofp i32 undef to float br label %b b: ret void } ; CHECK-LABEL: @ifThen_fpext( ; CHECK: fpext ; CHECK: br i1 true define void @ifThen_fpext() { br i1 true, label %a, label %b a: %x = fpext float undef to double br label %b b: ret void } ; CHECK-LABEL: @ifThen_fptrunc( ; CHECK: fptrunc ; CHECK: br i1 true define void @ifThen_fptrunc() { br i1 true, label %a, label %b a: %x = fptrunc double undef to float br label %b b: ret void } ; CHECK-LABEL: @ifThen_trunc( ; CHECK: trunc ; CHECK: br i1 true define void @ifThen_trunc() { br i1 true, label %a, label %b a: %x = trunc i32 undef to i16 br label %b b: ret void }