1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 21:13:02 +02:00
llvm-mirror/test
Justin Lebar e3fb38059f [TM] Restore default TargetOptions in TargetMachine::resetTargetOptions.
Summary:
Previously if you had

 * a function with the fast-math-enabled attr, followed by
 * a function without the fast-math attr,

the second function would inherit the first function's fast-math-ness.

This means that mixing fast-math and non-fast-math functions in a module
was completely broken unless you explicitly annotated every
non-fast-math function with "unsafe-fp-math"="false".  This appears to
have been broken since r176986 (March 2013), when the resetTargetOptions
function was introduced.

This patch tests the correct behavior as best we can.  I don't think I
can test FPDenormalMode and NoTrappingFPMath, because they aren't used
in any backends during function lowering.  Surprisingly, I also can't
find any uses at all of LessPreciseFPMAD affecting generated code.

The NVPTX/fast-math.ll test changes are an expected result of fixing
this bug.  When FMA is disabled, we emit add as "add.rn.f32", which
prevents fma combining.  Before this patch, fast-math was enabled in all
functions following the one which explicitly enabled it on itself, so we
were emitting plain "add.f32" where we should have generated
"add.rn.f32".

Reviewers: mkuper

Subscribers: hfinkel, majnemer, jholewinski, nemanjai, llvm-commits

Differential Revision: https://reviews.llvm.org/D28507

llvm-svn: 291618
2017-01-10 23:43:04 +00:00
..
Analysis [AArch64] Consider all vector types for FeatureSlowMisaligned128Store 2017-01-10 23:42:21 +00:00
Assembler
Bindings [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
Bitcode [ThinLTO] Subsume all importing checks into a single flag 2017-01-05 14:32:16 +00:00
BugPoint
CodeGen [TM] Restore default TargetOptions in TargetMachine::resetTargetOptions. 2017-01-10 23:43:04 +00:00
DebugInfo Correct object file for implicit const test 2017-01-10 21:30:42 +00:00
Examples
ExecutionEngine RuntimeDyldELF: implement R_AARCH64_PREL64 reloc 2017-01-10 11:05:30 +00:00
Feature
FileCheck Commit a test for match-full-lines. 2017-01-09 23:11:25 +00:00
Instrumentation Follow-up for r291289: Fix failing global_metadata_darwin.ll test 2017-01-06 22:22:22 +00:00
Integer
JitListener [cmake] Canonicalize CMake booleans to 0/1 for lit interop 2017-01-06 21:33:48 +00:00
LibDriver
Linker
LTO
MC Drive by typo fix 2017-01-09 21:38:14 +00:00
Object
ObjectYAML [ObjectYAML] Missed one mixup in the debug_line test 2017-01-10 06:24:24 +00:00
Other
SymbolRewriter
TableGen
ThinLTO/X86 [ThinLTO] Fix assertions on lazy-loading of Metadata TBAA attachments 2017-01-07 20:24:23 +00:00
tools [llvm-config] Canonicalize CMake booleans to 0/1 2017-01-10 19:55:51 +00:00
Transforms InstCombine: fdiv -x, -y -> fdiv x, y 2017-01-10 23:08:54 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
lit.cfg [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
lit.site.cfg.in [llvm-config] Print --system-libs only when static linking 2017-01-06 21:33:54 +00:00
TestRunner.sh