1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 19:52:54 +01:00
llvm-mirror/lib
Sanjay Patel 2e19fa34bb Shrinkify libcalls: use float versions of double libm functions with fast-math (bug 17850)
When a call to a double-precision libm function has fast-math semantics 
(via function attribute for now because there is no IR-level FMF on calls), 
we can avoid fpext/fptrunc operations and use the float version of the call
if the input and output are both float.

We already do this optimization using a command-line option; this patch just
adds the ability for fast-math to use the existing functionality.

I moved the cl::opt from InstructionCombining into SimplifyLibCalls because
it's only ever used internally to that class.

Modified the existing test cases to use the unsafe-fp-math attribute rather
than repeating all tests.

This patch should solve: http://llvm.org/bugs/show_bug.cgi?id=17850

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

llvm-svn: 220390
2014-10-22 15:29:23 +00:00
..
Analysis [InstSimplify] Support constant folding to vector of pointers 2014-10-22 12:18:48 +00:00
AsmParser
Bitcode IR: Reorder metadata bitcode serialization, NFC 2014-10-21 22:27:47 +00:00
CodeGen Fix typo 2014-10-22 00:28:59 +00:00
DebugInfo Constify input argument of RelocVisitor and DWARFContext constructors. NFC. 2014-10-20 20:28:51 +00:00
ExecutionEngine [MCJIT] Defer application of AArch64 MachO GOT relocations until resolve time. 2014-10-21 23:41:15 +00:00
IR Revert "Teach the load analysis to allow finding available values which require" (r220277) 2014-10-21 23:49:52 +00:00
IRReader
LineEditor
Linker
LTO LTO: Document the Boolean argument from r218784 2014-10-02 21:11:04 +00:00
MC Drop support for an old version of ld64 (from darwin 9). 2014-10-21 18:31:09 +00:00
Object [MCJIT] Temporarily revert r220245 - it broke several bots. 2014-10-21 00:24:02 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData Reduce double set lookups. NFC. 2014-10-10 15:32:50 +00:00
Support PR21202: Memory leak in Windows RWMutexImpl when using SRWLOCK 2014-10-21 00:34:39 +00:00
TableGen Eliminate some deep std::vector copies. NFC. 2014-10-03 18:33:16 +00:00
Target [PowerPC] Support select-cc for VSX 2014-10-22 13:13:40 +00:00
Transforms Shrinkify libcalls: use float versions of double libm functions with fast-math (bug 17850) 2014-10-22 15:29:23 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile