llvm-project/llvm/lib/CodeGen/SelectionDAG
Andrew Kaylor a0a1164ce4 Add intrinsics for constrained floating point operations
This commit introduces a set of experimental intrinsics intended to prevent
optimizations that make assumptions about the rounding mode and floating point
exception behavior.  These intrinsics will later be extended to specify
flush-to-zero behavior.  More work is also required to model instruction
dependencies in machine code and to generate these instructions from clang
(when required by pragmas and/or command line options that are not currently
supported).

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

llvm-svn: 293226
2017-01-26 23:27:59 +00:00
..
CMakeLists.txt [CMake] NFC. Updating CMake dependency specifications 2016-11-17 04:36:50 +00:00
DAGCombiner.cpp Revert "In visitSTORE, always use FindBetterChain, rather than only when UseAA is enabled." 2017-01-26 16:46:13 +00:00
FastISel.cpp [Analysis] Add LibFunc_ prefix to enums in TargetLibraryInfo. (NFC) 2017-01-23 23:16:46 +00:00
FunctionLoweringInfo.cpp Simplify FunctionLoweringInfo.cpp with range for loops 2016-12-30 00:21:38 +00:00
InstrEmitter.cpp SDAG: Make sure we use an allocatable reg class when we create this vreg 2016-10-28 22:42:54 +00:00
InstrEmitter.h Pass DebugLoc and SDLoc by const ref. 2016-06-12 15:39:02 +00:00
LLVMBuild.txt
LegalizeDAG.cpp DAG: Avoid OOB when legalizing vector indexing 2017-01-10 22:02:30 +00:00
LegalizeFloatTypes.cpp Replace APFloatBase static fltSemantics data members with getter functions 2016-12-14 11:57:17 +00:00
LegalizeIntegerTypes.cpp Remove unused CONVERT_RNDSAT intrinsics 2017-01-10 22:38:02 +00:00
LegalizeTypes.cpp DAG: Avoid OOB when legalizing vector indexing 2017-01-10 22:02:30 +00:00
LegalizeTypes.h Remove unused CONVERT_RNDSAT intrinsics 2017-01-10 22:38:02 +00:00
LegalizeTypesGeneric.cpp Do not assume that FP vector operands are never legalized by expanding 2016-10-26 19:51:35 +00:00
LegalizeVectorOps.cpp [SelectionDAG] Add expansion and promotion of [US]MUL_LOHI 2016-12-08 14:08:14 +00:00
LegalizeVectorTypes.cpp SDag: fix how initial loads are formed when splitting vector ops. 2017-01-25 20:58:26 +00:00
ResourcePriorityQueue.cpp Add iterator_range<regclass_iterator> to {Target,MC}RegisterInfo, NFC 2017-01-25 19:29:04 +00:00
SDNodeDbgValue.h Apply clang-tidy's misc-move-constructor-init throughout LLVM. 2016-05-27 14:27:24 +00:00
ScheduleDAGFast.cpp Replace uint16_t with the MCPhysReg typedef in many places. A lot of physical register arrays already use this typedef. 2015-12-05 07:13:35 +00:00
ScheduleDAGRRList.cpp Add iterator_range<regclass_iterator> to {Target,MC}RegisterInfo, NFC 2017-01-25 19:29:04 +00:00
ScheduleDAGSDNodes.cpp [DAG] Don't increase SDNodeOrder for dbg.value/declare. 2017-01-19 13:55:55 +00:00
ScheduleDAGSDNodes.h [Target] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-01-11 01:45:03 +00:00
ScheduleDAGVLIW.cpp
SelectionDAG.cpp [SelectionDAG] Teach getNode to simplify a couple easy cases of EXTRACT_SUBVECTOR 2017-01-24 02:36:59 +00:00
SelectionDAGBuilder.cpp Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
SelectionDAGBuilder.h Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
SelectionDAGDumper.cpp Remove unused CONVERT_RNDSAT intrinsics 2017-01-10 22:38:02 +00:00
SelectionDAGISel.cpp Add intrinsics for constrained floating point operations 2017-01-26 23:27:59 +00:00
SelectionDAGPrinter.cpp Make the SelectionDAG graph printer use SDNode::PersistentId labels. 2015-10-27 23:09:03 +00:00
SelectionDAGTargetInfo.cpp Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
StatepointLowering.cpp [Statepoints] Reuse stack slots more than once within a basic block 2016-12-13 01:21:15 +00:00
StatepointLowering.h [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TargetLowering.cpp Add iterator_range<regclass_iterator> to {Target,MC}RegisterInfo, NFC 2017-01-25 19:29:04 +00:00