1; RUN: opt < %s -S -speculative-execution \ 2; RUN: -spec-exec-max-speculation-cost 4 -spec-exec-max-not-hoisted 3 \ 3; RUN: | FileCheck %s 4 5; CHECK-LABEL: @ifThen_fadd( 6; CHECK: fadd 7; CHECK: br i1 true 8define void @ifThen_fadd() { 9 br i1 true, label %a, label %b 10 11a: 12 %x = fadd float undef, undef 13 br label %b 14 15b: 16 ret void 17} 18 19; CHECK-LABEL: @ifThen_fsub( 20; CHECK: fsub 21; CHECK: br i1 true 22define void @ifThen_fsub() { 23 br i1 true, label %a, label %b 24 25a: 26 %x = fsub float undef, undef 27 br label %b 28 29b: 30 ret void 31} 32 33; CHECK-LABEL: @ifThen_binary_fneg( 34; CHECK: fsub float -0.0 35; CHECK: br i1 true 36define void @ifThen_binary_fneg() { 37 br i1 true, label %a, label %b 38 39a: 40 %x = fsub float -0.0, undef 41 br label %b 42 43b: 44 ret void 45} 46 47; CHECK-LABEL: @ifThen_unary_fneg( 48; CHECK: fneg float 49; CHECK: br i1 true 50define void @ifThen_unary_fneg() { 51 br i1 true, label %a, label %b 52 53a: 54 %x = fneg float undef 55 br label %b 56 57b: 58 ret void 59} 60 61; CHECK-LABEL: @ifThen_fmul( 62; CHECK: fmul 63; CHECK: br i1 true 64define void @ifThen_fmul() { 65 br i1 true, label %a, label %b 66 67a: 68 %x = fmul float undef, undef 69 br label %b 70 71b: 72 ret void 73} 74 75; CHECK-LABEL: @ifThen_fdiv( 76; CHECK: fdiv 77; CHECK: br i1 true 78define void @ifThen_fdiv() { 79 br i1 true, label %a, label %b 80 81a: 82 %x = fdiv float undef, undef 83 br label %b 84 85b: 86 ret void 87} 88 89; CHECK-LABEL: @ifThen_frem( 90; CHECK: frem 91; CHECK: br i1 true 92define void @ifThen_frem() { 93 br i1 true, label %a, label %b 94 95a: 96 %x = frem float undef, undef 97 br label %b 98 99b: 100 ret void 101} 102