brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.2 KiB · e677432 Raw
84 lines · plain
1! Test for correct forwarding of fast-math flags from the compiler driver to the2! frontend driver3 4! Check warning message for Ofast deprecation5! RUN: %flang -Ofast -### %s -o %t 2>&1 | FileCheck %s6! CHECK: warning: argument '-Ofast' is deprecated; use '-O3 -ffast-math -fstack-arrays' for the same behavior, or '-O37! -fstack-arrays' to enable only conforming optimizations [-Wdeprecated-ofast]8 9! -Ofast => -ffast-math -O3 -fstack-arrays10! RUN: %flang -Ofast -fsyntax-only -### %s -o %t 2>&1 \11! RUN:     | FileCheck --check-prefix=CHECK-OFAST %s12! CHECK-OFAST: -fc113! CHECK-OFAST-SAME: -ffast-math14! CHECK-OFAST-SAME: -fstack-arrays15! CHECK-OFAST-SAME: -O316 17! RUN: %flang -fstack-arrays -fsyntax-only -### %s -o %t 2>&1 \18! RUN:     | FileCheck --check-prefix=CHECK-STACK-ARRAYS %s19! CHECK-STACK-ARRAYS: -fc120! CHECK-STACK-ARRAYS-SAME: -fstack-arrays21 22! -Ofast -fno-fast-math => -O3 -fstack-arrays23! RUN: %flang -Ofast -fno-fast-math -fsyntax-only -### %s -o %t 2>&1 \24! RUN:     | FileCheck --check-prefix=CHECK-OFAST-NO-FAST %s25! CHECK-OFAST-NO-FAST: -fc126! CHECK-OFAST-NO-FAST-NOT: -ffast-math27! CHECK-OFAST-NO-FAST-SAME: -fstack-arrays28! CHECK-OFAST-NO-FAST-SAME: -O329 30! -Ofast -fno-stack-arrays -> -O3 -ffast-math31! RUN: %flang -Ofast -fno-stack-arrays -fsyntax-only -### %s -o %t 2>&1 \32! RUN:     | FileCheck --check-prefix=CHECK-OFAST-NO-SA %s33! CHECK-OFAST-NO-SA: -fc134! CHECK-OFAST-NO-SA-SAME: -ffast-math35! CHECK-OFAST-NO-SA-NOT: -fstack-arrays36! CHECK-OFAST-NO-SA-SAME: -O337 38! -ffast-math => -ffast-math39! RUN: %flang -ffast-math -fsyntax-only -### %s -o %t 2>&1 \40! RUN:     | FileCheck --check-prefix=CHECK-FFAST %s41! CHECK-FFAST: -fc142! CHECK-FFAST-SAME: -ffast-math43 44! (component flags) => -ffast-math45! RUN: %flang -fsyntax-only -### %s -o %t \46! RUN:     -fno-honor-infinities \47! RUN:     -fno-honor-nans \48! RUN:     -fassociative-math \49! RUN:     -freciprocal-math \50! RUN:     -fapprox-func \51! RUN:     -fno-signed-zeros \52! RUN:     -ffp-contract=fast \53! RUN:     2>&1 | FileCheck --check-prefix=CHECK-FROM-COMPS %s54! CHECK-FROM-COMPS: -fc155! CHECK-FROM-COMPS-SAME: -ffast-math56 57! -ffast-math (followed by an alteration) => (component flags)58! RUN: %flang -ffast-math -fhonor-infinities -fsyntax-only -### %s -o %t 2>&1 \59! RUN:     | FileCheck --check-prefix=CHECK-TO-COMPS %s60! CHECK-TO-COMPS: -fc161! CHECK-TO-COMPS-SAME: -ffp-contract=fast62! CHECK-TO-COMPS-SAME: -menable-no-nans63! CHECK-TO-COMPS-SAME: -fapprox-func64! CHECK-TO-COMPS-SAME: -fno-signed-zeros65! CHECK-TO-COMPS-SAME: -mreassociate66! CHECK-TO-COMPS-SAME: -freciprocal-math67 68! Check that -fno-fast-math doesn't clobber -ffp-contract69! RUN: %flang -ffp-contract=off -fno-fast-math -fsyntax-only -### %s -o %t 2>&1 \70! RUN:     | FileCheck --check-prefix=CHECK-CONTRACT %s71! CHECK-CONTRACT: -fc172! CHECK-CONTRACT-SAME: -ffp-contract=off73 74! Check that -ffast-math causes us to link to crtfastmath.o75! UNSUPPORTED: system-windows76! UNSUPPORTED: target=powerpc{{.*}}77! RUN: %flang -ffast-math -### %s -o %t 2>&1 \78! RUN:           --target=x86_64-unknown-linux -no-pie \79! RUN:           --sysroot=%S/../../../clang/test/Driver/Inputs/basic_linux_tree \80! RUN:     | FileCheck --check-prefix=CHECK-CRT %s81! CHECK-CRT: {{crtbegin.?\.o}}82! CHECK-CRT-SAME: crtfastmath.o83! CHECK-CRT-SAME: {{crtend.?\.o}}84