1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 11:02:59 +02:00
llvm-mirror/include/llvm
Tim Shen e9060d8799 [APFloat] Add DoubleAPFloat mode to APFloat. NFC.
Summary:
This patch adds DoubleAPFloat mode to APFloat.

Now, an APFloat with semantics PPCDoubleDouble will have DoubleAPFloat layout
(APFloat.U.Double), which contains two underlying APFloats as
PPCDoubleDoubleImpl and IEEEdouble semantics. Currently the IEEEdouble APFloat
is not used, and the first APFloat behaves exactly the same before this change.

This patch consists of three kinds of logics:
1) Construction and destruction of APFloat. Now the ctors, dtor, assign
   opertors and factory functions construct different underlying layout
   based on the semantics passed in.
2) s/IEEE/getIEEE()/ for normal, lifetime-unrelated computation functions.
   These functions only access Floats[0] in DoubleAPFloat, which is the
   same as today's semantic.
3) A "Double dispatch" function, APFloat::convert. Converting between two
   different layouts requires appropriate logic.

Neither of these change the external behavior.

Reviewers: hfinkel, kbarton, echristo, iteratee

Subscribers: mehdi_amini, llvm-commits

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

llvm-svn: 285351
2016-10-27 21:39:51 +00:00
..
ADT [APFloat] Add DoubleAPFloat mode to APFloat. NFC. 2016-10-27 21:39:51 +00:00
Analysis Fix map insertion that is elided in release build. 2016-10-21 23:30:39 +00:00
AsmParser
Bitcode Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
CodeGen [DAGCombiner] Add vector demanded elements support to computeKnownBits 2016-10-27 14:29:28 +00:00
Config Split a comment into generic description and note about the specific 2016-10-01 08:05:50 +00:00
DebugInfo Switch all DWARF variables for tags, attributes and forms over to use the llvm::dwarf enumerations instead of using raw uint16_t values. This allows easier debugging as users can see the values of the enumerations in the variables view that will show the enumeration string instead of just a number. 2016-10-27 16:32:04 +00:00
Demangle Add an c++ itanium demangler to llvm. 2016-09-06 19:16:48 +00:00
ExecutionEngine Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
IR [IR] Retire unused getGEPReturnType overload. NFCI. 2016-10-26 23:46:16 +00:00
IRReader [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LibDriver [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
LineEditor Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
Linker [ThinLTO] Don't link module level assembly when importing 2016-10-12 18:39:29 +00:00
LTO Make the LTO comdat api more symbol table friendly. 2016-10-25 12:02:03 +00:00
MC [MC] Fix Various End Of Line Comment checkings 2016-10-24 14:35:29 +00:00
Object Revert r285285 "[Object/ELF] - Fixed behavior when SectionHeaderTable->sh_size is too large." 2016-10-27 12:18:50 +00:00
ObjectYAML [macho2yaml] Don't write empty linkedit data 2016-08-17 21:46:04 +00:00
Option Generalize ArgList::AddAllArgs more 2016-09-29 19:47:58 +00:00
Passes [PM] Significantly refactor the pass pipeline parsing to be easier to 2016-08-03 03:21:41 +00:00
ProfileData Do a sweep over move ctors and remove those that are identical to the default. 2016-10-20 12:20:28 +00:00
Support Another additional error check for invalid Mach-O files for the 2016-10-27 20:59:10 +00:00
TableGen [TableGen] Autobrief-ize Record. NFC. 2016-07-14 14:53:14 +00:00
Target Add option to specify minimum number of entries for jump tables 2016-10-25 19:53:51 +00:00
Transforms Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
CMakeLists.txt
InitializePasses.h Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
LinkAllIR.h Remove unused #includes of TimeValue.h. NFC. 2016-10-24 14:00:26 +00:00
LinkAllPasses.h Add Loop Sink pass to reverse the LICM based of basic block frequency. 2016-10-27 16:30:08 +00:00
module.modulemap [modules] Re-enable some previously excluded files. 2016-09-13 14:41:35 +00:00
module.modulemap.build
Pass.h Use StringRef in Pass/PassManager APIs (NFC) 2016-10-01 02:56:57 +00:00
PassAnalysisSupport.h Apply clang-tidy's modernize-loop-convert to most of lib/Transforms. 2016-06-26 12:28:59 +00:00
PassInfo.h Use StringRef in Pass Info/Support API (NFC) 2016-10-01 04:03:30 +00:00
PassRegistry.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
PassSupport.h Use StringRef in Pass Info/Support API (NFC) 2016-10-01 04:03:30 +00:00