1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 11:42:57 +01:00
llvm-mirror/lib
Sanjay Patel a84e4eb51a propagate fast-math-flags on DAG nodes
After D10403, we had FMF in the DAG but disabled by default. Nick reported no crashing errors after some stress testing, 
so I enabled them at r243687. However, Escha soon notified us of a bug not covered by any in-tree regression tests: 
if we don't propagate the flags, we may fail to CSE DAG nodes because differing FMF causes them to not match. There is
one test case in this patch to prove that point.

This patch hopes to fix or leave a 'TODO' for all of the in-tree places where we create nodes that are FMF-capable. I 
did this by putting an assert in SelectionDAG.getNode() to find any FMF-capable node that was being created without FMF
( D11807 ). I then ran all regression tests and test-suite and confirmed that everything passes.

This patch exposes remaining work to get DAG FMF to be fully functional: (1) add the flags to non-binary nodes such as
FCMP, FMA and FNEG; (2) add the flags to intrinsics; (3) use the flags as conditions for transforms rather than the
current global settings.

Differential Revision: http://reviews.llvm.org/D12095

llvm-svn: 247815
2015-09-16 16:31:21 +00:00
..
Analysis Revert "Clean up: Refactoring the hardcoded value of 6 for FindAvailableLoadedValue()'s parameter MaxInstsToScan." for preliminary community discussion (See. D12886) 2015-09-15 19:14:05 +00:00
AsmParser
Bitcode
CodeGen propagate fast-math-flags on DAG nodes 2015-09-16 16:31:21 +00:00
DebugInfo
ExecutionEngine
Fuzzer
IR
IRReader
LibDriver
LineEditor
Linker
LTO Reapply "LTO: Disable extra verify runs in release builds" 2015-09-15 23:05:59 +00:00
MC Add assembler fatal error for undefined assembler labels in COFF writer 2015-09-16 16:26:29 +00:00
Object
Option
Passes
ProfileData
Support
TableGen
Target propagate fast-math-flags on DAG nodes 2015-09-16 16:31:21 +00:00
Transforms don't repeat function names in comments; NFC 2015-09-16 16:21:08 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile