llvm/lib
Sanjay Patel e4e5cf5a66 make reciprocal estimate code generation more flexible by adding command-line options (3rd try)
The first try (r238051) to land this was reverted due to ExecutionEngine build failure;
that was hopefully addressed by r238788.

The second try (r238842) to land this was reverted due to BUILD_SHARED_LIBS failure;
that was hopefully addressed by r238953.

This patch adds a TargetRecip class for processing many recip codegen possibilities.
The class is intended to handle both command-line options to llc as well
as options passed in from a front-end such as clang with the -mrecip option.

The x86 backend is updated to use the new functionality.
Only -mcpu=btver2 with -ffast-math should see a functional change from this patch.
All other x86 CPUs continue to *not* use reciprocal estimates by default with -ffast-math.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@239001 91177308-0d34-0410-b5e6-96231b3b80d8
2015-06-04 01:32:35 +00:00
..
Analysis [PHITransAddr] Don't translate unreachable values 2015-06-01 00:15:08 +00:00
AsmParser DebugInfo: Really support 2^16 arguments in a subprogram 2015-06-02 17:17:44 +00:00
Bitcode [BitcodeReader] Diagnose type mismatches with aliases 2015-06-03 01:30:13 +00:00
CodeGen [SelectionDAG] Fix PR23603. 2015-06-02 22:33:30 +00:00
DebugInfo [DWARF] Fix a bug in line info handling 2015-05-31 23:37:04 +00:00
ExecutionEngine Re-commit r238838, r238844 with fix for host/target endian mismatch and windows buildbot. 2015-06-03 10:27:28 +00:00
Fuzzer [lib/Fuzzer] make assertions more informative and update comments for the user-supplied mutator 2015-05-30 17:33:13 +00:00
IR Int128 is also a built-in preconstructed type. 2015-06-02 23:56:53 +00:00
IRReader
LineEditor
Linker
LTO Make the C++ LTO API easier to use from C++ clients. 2015-06-01 20:08:30 +00:00
MC Remove MCELFSymbolFlags.h. It is now internal to MCSymbolELF. 2015-06-04 00:47:43 +00:00
Object [Object, MachO] Introduce MachOObjectFile::load_commands() range iterator. 2015-06-03 22:19:36 +00:00
Option
Passes
ProfileData
Support [Support] Simplify Triple::getOSVersion 2015-06-01 23:45:25 +00:00
TableGen [TableGen] Use range-based for loops. NFC 2015-06-02 06:19:28 +00:00
Target make reciprocal estimate code generation more flexible by adding command-line options (3rd try) 2015-06-04 01:32:35 +00:00
Transforms Remove stray semicolon. NFC. 2015-06-03 08:51:30 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile