102 lines · plain
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 %s4 5; CHECK-LABEL: @ifThen_fadd(6; CHECK: fadd7; CHECK: br i1 true8define void @ifThen_fadd() {9 br i1 true, label %a, label %b10 11a:12 %x = fadd float undef, undef13 br label %b14 15b:16 ret void17}18 19; CHECK-LABEL: @ifThen_fsub(20; CHECK: fsub21; CHECK: br i1 true22define void @ifThen_fsub() {23 br i1 true, label %a, label %b24 25a:26 %x = fsub float undef, undef27 br label %b28 29b:30 ret void31}32 33; CHECK-LABEL: @ifThen_binary_fneg(34; CHECK: fsub float -0.035; CHECK: br i1 true36define void @ifThen_binary_fneg() {37 br i1 true, label %a, label %b38 39a:40 %x = fsub float -0.0, undef41 br label %b42 43b:44 ret void45}46 47; CHECK-LABEL: @ifThen_unary_fneg(48; CHECK: fneg float49; CHECK: br i1 true50define void @ifThen_unary_fneg() {51 br i1 true, label %a, label %b52 53a:54 %x = fneg float undef55 br label %b56 57b:58 ret void59}60 61; CHECK-LABEL: @ifThen_fmul(62; CHECK: fmul63; CHECK: br i1 true64define void @ifThen_fmul() {65 br i1 true, label %a, label %b66 67a:68 %x = fmul float undef, undef69 br label %b70 71b:72 ret void73}74 75; CHECK-LABEL: @ifThen_fdiv(76; CHECK: fdiv77; CHECK: br i1 true78define void @ifThen_fdiv() {79 br i1 true, label %a, label %b80 81a:82 %x = fdiv float undef, undef83 br label %b84 85b:86 ret void87}88 89; CHECK-LABEL: @ifThen_frem(90; CHECK: frem91; CHECK: br i1 true92define void @ifThen_frem() {93 br i1 true, label %a, label %b94 95a:96 %x = frem float undef, undef97 br label %b98 99b:100 ret void101}102