[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / Transforms / SpeculativeExecution / spec-fp.ll
blobd302fe8a00088f3d6c397ab4754e9ce25ccee6b7
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_fadd(
6 ; CHECK: fadd
7 ; CHECK: br i1 true
8 define void @ifThen_fadd() {
9   br i1 true, label %a, label %b
12   %x = fadd float undef, undef
13   br label %b
16   ret void
19 ; CHECK-LABEL: @ifThen_fsub(
20 ; CHECK: fsub
21 ; CHECK: br i1 true
22 define void @ifThen_fsub() {
23   br i1 true, label %a, label %b
26   %x = fsub float undef, undef
27   br label %b
30   ret void
33 ; CHECK-LABEL: @ifThen_binary_fneg(
34 ; CHECK: fsub float -0.0
35 ; CHECK: br i1 true
36 define void @ifThen_binary_fneg() {
37   br i1 true, label %a, label %b
40   %x = fsub float -0.0, undef
41   br label %b
44   ret void
47 ; CHECK-LABEL: @ifThen_unary_fneg(
48 ; CHECK: fneg float
49 ; CHECK: br i1 true
50 define void @ifThen_unary_fneg() {
51   br i1 true, label %a, label %b
54   %x = fneg float undef
55   br label %b
58   ret void
61 ; CHECK-LABEL: @ifThen_fmul(
62 ; CHECK: fmul
63 ; CHECK: br i1 true
64 define void @ifThen_fmul() {
65   br i1 true, label %a, label %b
68   %x = fmul float undef, undef
69   br label %b
72   ret void
75 ; CHECK-LABEL: @ifThen_fdiv(
76 ; CHECK: fdiv
77 ; CHECK: br i1 true
78 define void @ifThen_fdiv() {
79   br i1 true, label %a, label %b
82   %x = fdiv float undef, undef
83   br label %b
86   ret void
89 ; CHECK-LABEL: @ifThen_frem(
90 ; CHECK: frem
91 ; CHECK: br i1 true
92 define void @ifThen_frem() {
93   br i1 true, label %a, label %b
96   %x = frem float undef, undef
97   br label %b
100   ret void