llvm-6502/include/llvm/IR
Tim Northover 3e61ccdded CodeGen: extend f16 conversions to permit types > float.
This makes the two intrinsics @llvm.convert.from.f16 and
@llvm.convert.to.f16 accept types other than simple "float". This is
only strictly needed for the truncate operation, since otherwise
double rounding occurs and there's no way to represent the strict IEEE
conversion. However, for symmetry we allow larger types in the extend
too.

During legalization, we can expand an "fp16_to_double" operation into
two extends for convenience, but abort when the truncate isn't legal. A new
libcall is probably needed here.

Even after this commit, various target tweaks are needed to actually use the
extended intrinsics. I've put these into separate commits for clarity, so there
are no actual tests of f64 conversion here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213248 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-17 10:51:23 +00:00
..
Argument.h Add 'nonnull', a new parameter and return attribute which indicates that the pointer is not null. Instcombine will elide comparisons between these and null. Patch by Luqman Aden! 2014-05-20 01:23:40 +00:00
AssemblyAnnotationWriter.h Move the LLVM IR asm writer header files into the IR directory, as they 2014-01-07 12:34:26 +00:00
Attributes.h Add a new attribute called 'jumptable' that creates jump-instruction tables for functions marked with this attribute. 2014-06-05 19:29:43 +00:00
AutoUpgrade.h Rename loop unrolling and loop vectorizer metadata to have a common prefix. 2014-06-25 15:41:00 +00:00
BasicBlock.h Fix some obvious Doxygen comment bugs. 2014-05-06 05:05:59 +00:00
CallingConv.h Revert "[ms-cxxabi] Add a new calling convention that swaps 'this' and 'sret'" 2014-05-09 22:56:42 +00:00
CallSite.h Improve 'tail' call marking in TRE. A bootstrap of clang goes from 375k calls marked tail in the IR to 470k, however this improvement does not carry into an improvement of the call/jmp ratio on x86. The most common pattern is a tail call + br to a block with nothing but a 'ret'. 2014-05-05 23:59:03 +00:00
CFG.h [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
CMakeLists.txt [CMake] intrinsics_gen: Use add_public_tablegen_target(). 2014-02-20 13:42:16 +00:00
Comdat.h IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
Constant.h InstCombine: Don't turn -(x/INT_MIN) -> x/INT_MIN 2014-07-02 06:07:09 +00:00
ConstantFolder.h Add CreatePointerBitCastOrAddrSpaceCast to IRBuilder and co. 2014-07-14 17:24:35 +00:00
ConstantRange.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
Constants.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
DataLayout.h Fix typo 2014-06-25 23:39:08 +00:00
DebugInfo.h Constify the Function pointers in the result of makeSubprogramMap 2014-07-02 18:30:05 +00:00
DebugLoc.h Add missing const specifier to a const method. 2014-06-05 14:32:15 +00:00
DerivedTypes.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
DiagnosticInfo.h Emit warnings if vectorization is forced and fails. 2014-07-16 00:36:00 +00:00
DiagnosticPrinter.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
DIBuilder.h Add new debug kind LocTrackingOnly. 2014-06-24 17:02:03 +00:00
Dominators.h Move operator[] to DomTreeNodeBase 2014-07-02 06:50:48 +00:00
Function.h Split GlobalValue into GlobalValue and GlobalObject. 2014-05-13 18:45:48 +00:00
GetElementPtrTypeIterator.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
GlobalAlias.h IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
GlobalObject.h IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
GlobalValue.h IR: Add a helper to check for LinkOnceODRLinkage 2014-07-01 00:30:52 +00:00
GlobalVariable.h [pr19844] Add thread local mode to aliases. 2014-05-28 18:15:43 +00:00
GVMaterializer.h Make ObjectFile and BitcodeReader always own the MemoryBuffer. 2014-06-23 21:53:12 +00:00
InlineAsm.h Remove copy ctors that did the same thing as the default one. 2014-03-11 11:32:49 +00:00
InstIterator.h [Modules] Move InstIterator out of the Support library, where it had no 2014-03-04 10:30:26 +00:00
InstrTypes.h Add CreatePointerBitCastOrAddrSpaceCast to IRBuilder and co. 2014-07-14 17:24:35 +00:00
Instruction.def Add addrspacecast instruction. 2013-11-15 01:34:59 +00:00
Instruction.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
Instructions.h Add range for-loop iterator adapter for cases in SwitchInst. 2014-07-02 05:32:13 +00:00
InstVisitor.h [Layering] Move InstVisitor.h into the IR library as it is pretty 2014-03-06 03:23:41 +00:00
IntrinsicInst.h Add some convenience accessors for the underlying Use of an operand. 2014-02-25 03:34:17 +00:00
Intrinsics.h TableGen: introduce support for MSBuiltin 2014-07-04 18:42:25 +00:00
Intrinsics.td CodeGen: extend f16 conversions to permit types > float. 2014-07-17 10:51:23 +00:00
IntrinsicsAArch64.td Port memory barriers intrinsics to AArch64 2014-07-17 10:50:20 +00:00
IntrinsicsARM.td ARM: mark matching ARM intrinsics as MSBuiltin 2014-07-05 20:09:24 +00:00
IntrinsicsHexagon.td
IntrinsicsMips.td [mips][msa] Add DLSA instruction. 2014-02-10 12:05:17 +00:00
IntrinsicsNVVM.td [NVPTX] Add reflect intrinsic (better than matching by function name) 2014-06-27 18:36:11 +00:00
IntrinsicsPowerPC.td Implement PPC counter loops as a late IR-level pass 2013-05-15 21:37:41 +00:00
IntrinsicsR600.td R600: Fix inconsistency in rsq instructions. 2014-06-24 22:13:39 +00:00
IntrinsicsX86.td [X86] Add support for builtin to read performance monitoring counters. 2014-06-30 17:14:21 +00:00
IntrinsicsXCore.td [XCore] Add intrinsic for CLRPT (clear port time) instruction. 2014-02-25 17:31:15 +00:00
IRBuilder.h Add CreatePointerBitCastOrAddrSpaceCast to IRBuilder and co. 2014-07-14 17:24:35 +00:00
IRPrintingPasses.h [PM] Fix stale header blocker, found by Duncan Smith in code review! 2014-01-14 05:50:19 +00:00
LeakDetector.h [Modules] Move the LeakDetector header into the IR library where the 2014-03-04 12:46:06 +00:00
LegacyPassManager.h [C++11] Add 'override' keyword to IR library. 2014-03-05 06:35:38 +00:00
LegacyPassManagers.h Fix some misplaced spaces around 'override' 2014-05-24 20:19:40 +00:00
LegacyPassNameParser.h Do not register and de-register PassRegistrationListeners during 2014-06-12 00:16:36 +00:00
LLVMContext.h Add support for missed and analysis optimization remarks. 2014-05-22 14:19:46 +00:00
Mangler.h Add back r201608, r201622, r201624 and r201625 2014-02-19 17:23:20 +00:00
MDBuilder.h Move MDBuilder's methods out of line. 2014-04-12 14:26:59 +00:00
Metadata.h Remove AssemblyAnnotationWriter from NamedMDNode::print. 2014-04-23 12:23:05 +00:00
Module.h IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
NoFolder.h [Modules] Move the NoFolder into the IR library as it creates 2014-03-04 12:05:47 +00:00
OperandTraits.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Operator.h [Modules] Move GetElementPtrTypeIterator into the IR library. As its 2014-03-04 10:40:04 +00:00
PassManager.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
PatternMatch.h [Modules] Move the LLVM IR pattern match header into the IR library, it 2014-03-04 11:08:18 +00:00
PredIteratorCache.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-15 04:59:12 +00:00
SymbolTableListTraits.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
Type.h [C++11] More 'nullptr' conversion or in some cases just using a boolean check instead of comparing to nullptr. 2014-04-09 06:08:46 +00:00
TypeBuilder.h #include <climits> instead of <limits.h> in C++ header file. 2013-06-13 23:49:09 +00:00
TypeFinder.h Move TypeFinder.h into the IR tree, it clearly belongs with the IR library. 2013-01-07 15:43:51 +00:00
Use.h Updated the link to the correct URL. 2014-04-29 13:21:05 +00:00
User.h Reorder Value and User fields to save 8 bytes of padding on 64-bit 2014-06-09 23:32:20 +00:00
Value.h Allow isDereferenceablePointer to look through some bitcasts 2014-07-10 05:27:53 +00:00
ValueHandle.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ValueMap.h Revert "Replace Execution Engine's mutex with std::recursive_mutex." 2014-06-20 21:07:14 +00:00
ValueSymbolTable.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
Verifier.h verify-di: Implement DebugInfoVerifier 2014-04-15 16:27:38 +00:00