• Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; RUN: opt < %s -newgvn -S | FileCheck %s
2
3; CHECK-LABEL: func_fast
4; CHECK:       fadd fast double
5; CHECK-NEXT:  store
6; CHECK-NEXT:  ret
7define double @func_fast(double %a, double %b) {
8entry:
9  %a.addr = alloca double, align 8
10  %add = fadd fast double %b, 3.000000e+00
11  store double %add, double* %a.addr, align 8
12  %load_add = load double, double* %a.addr, align 8
13  ret double %load_add
14}
15
16; CHECK-LABEL: func_no_fast
17; CHECK:       fadd double
18; CHECK-NEXT:  store
19; CHECK-NEXT:  ret
20define double @func_no_fast(double %a, double %b) {
21entry:
22  %a.addr = alloca double, align 8
23  %add = fadd fast double %b, 3.000000e+00
24  store double %add, double* %a.addr, align 8
25  %duplicated_add = fadd double %b, 3.000000e+00
26  ret double %duplicated_add
27}
28
29