Files
clang-p2996/llvm/test/Transforms/NewGVN/propagate-ir-flags.ll
Bjorn Pettersson 4f73528403 [test][NewGVN] Use -passes=newgvn instead of -newgvn
Use the new PM syntax when specifying the pipeline in regression
tests previously running
  "opt -newgvn ..."

Instead we now do
  "opt -passes=newgvn ..."

Notice that this also changes the aa-pipeline to become the default
aa-pipeline instead of just basic-aa. Since these tests haven't been
explicitly requesting basic-aa in the past (compared to the test cases
updated in a separate patch involving "-basic-aa -newgvn") it is
assumed that the exact aa-pipeline isn't important for the validity
of the test cases. An alternative could have been to add
-aa-pipeline=basic-aa as well to the run lines, but that might just
add clutter in case the test cases do not care about the aa-pipeline.

This is another step to move away from the legacy PM syntax when
specifying passes in opt.

Differential Revision: https://reviews.llvm.org/D118341
2022-01-28 13:58:22 +01:00

29 lines
764 B
LLVM

; RUN: opt < %s -passes=newgvn -S | FileCheck %s
; CHECK-LABEL: func_fast
; CHECK: fadd fast double
; CHECK-NEXT: store
; CHECK-NEXT: ret
define double @func_fast(double %a, double %b) {
entry:
%a.addr = alloca double, align 8
%add = fadd fast double %b, 3.000000e+00
store double %add, double* %a.addr, align 8
%load_add = load double, double* %a.addr, align 8
ret double %load_add
}
; CHECK-LABEL: func_no_fast
; CHECK: fadd double
; CHECK-NEXT: store
; CHECK-NEXT: ret
define double @func_no_fast(double %a, double %b) {
entry:
%a.addr = alloca double, align 8
%add = fadd fast double %b, 3.000000e+00
store double %add, double* %a.addr, align 8
%duplicated_add = fadd double %b, 3.000000e+00
ret double %duplicated_add
}