• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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