llvm-6502/lib
Sanjay Patel 3e05b40fd0 Refactor reciprocal square root estimate into target-independent function; NFC.
This is purely a plumbing patch. No functional changes intended.

The ultimate goal is to allow targets other than PowerPC (certainly X86 and Aarch64) to turn this:

z = y / sqrt(x)

into:

z = y * rsqrte(x)

using whatever HW magic they can use. See http://llvm.org/bugs/show_bug.cgi?id=20900 .

The first step is to add a target hook for RSQRTE, take the already target-independent code selfishly hoarded by PPC, and put it into DAGCombiner.

Next steps:

    The code in DAGCombiner::BuildRSQRTE() should be refactored further; tests that exercise that logic need to be added.
    Logic in PPCTargetLowering::BuildRSQRTE() should be hoisted into DAGCombiner.
    X86 and AArch64 overrides for TargetLowering.BuildRSQRTE() should be added.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@218219 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-21 15:19:15 +00:00
..
Analysis Add file to CMake build as well. 2014-09-18 00:39:20 +00:00
AsmParser
Bitcode Eliminating static destructor for the BitCodeErrorCategory by converting to a ManagedStatic. 2014-09-19 20:29:02 +00:00
CodeGen Refactor reciprocal square root estimate into target-independent function; NFC. 2014-09-21 15:19:15 +00:00
DebugInfo Turn local DWARFContext helpers getFileNameForUnit() and getFileLineInfoForCompileUnit() into full-blowm DWARFDebugLine::LineTable methods. 2014-09-19 15:11:51 +00:00
ExecutionEngine RTDyldMemoryManager::getSymbolAddress(): Make sure to return 0 if symbol name is not met. [-Wreturn-type] 2014-09-20 23:58:13 +00:00
IR DIBuilder: Delete dead code, NFC 2014-09-19 23:17:58 +00:00
IRReader
LineEditor
Linker
LTO LTO: introduce object file-based on-disk module format. 2014-09-18 21:28:49 +00:00
MC MC: Support aligned COMMON symbols for COFF 2014-09-21 09:18:07 +00:00
Object Converting object's error_category to a ManagedStatic to avoid static constructors and destructors. 2014-09-19 22:09:18 +00:00
Option
ProfileData llvm-cov: Allow creating CoverageMappings from filenames 2014-09-20 17:19:52 +00:00
Support Add hsail and amdil64 to Triple 2014-09-19 19:52:11 +00:00
TableGen
Target Refactor reciprocal square root estimate into target-independent function; NFC. 2014-09-21 15:19:15 +00:00
Transforms Using a deque to manage the stack of nodes is faster here. 2014-09-20 13:29:20 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile