1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00
llvm-mirror/lib/CodeGen/SelectionDAG
David Majnemer d2ed420815 [CodeGen] Teach LLVM how to lower @llvm.{min,max}num to {MIN,MAX}NAN
The behavior of {MIN,MAX}NAN differs from that of {MIN,MAX}NUM when only
one of the inputs is NaN: -NUM will return the non-NaN argument while
-NAN would return NaN.

It is desirable to lower to @llvm.{min,max}num to -NAN if they don't
have a native instruction for -NUM.  Notably, ARMv7 NEON's vmin has the
-NAN semantics.

N.B.  Of course, it is only safe to do this if the intrinsic call is
marked nnan.

llvm-svn: 266279
2016-04-14 07:13:24 +00:00
..
CMakeLists.txt Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
DAGCombiner.cpp Cleanup Store Merging in UseAA case 2016-04-13 17:27:26 +00:00
FastISel.cpp Swift Calling Convention: swifterror target-independent change. 2016-04-05 18:13:16 +00:00
FunctionLoweringInfo.cpp Swift Calling Convention: swifterror target-independent change. 2016-04-05 18:13:16 +00:00
InstrEmitter.cpp
InstrEmitter.h Minor code cleanup. NFC. 2016-03-26 06:04:55 +00:00
LegalizeDAG.cpp LegalizeDAG: Don't replace vector store with integer if not legal 2016-03-30 21:15:18 +00:00
LegalizeFloatTypes.cpp
LegalizeIntegerTypes.cpp Remove unsafe AssertZext after promoting result of FP_TO_FP16 2016-03-24 14:06:03 +00:00
LegalizeTypes.cpp Revert "[mips] Promote the result of SETCC nodes to GPR width." 2016-03-01 20:25:43 +00:00
LegalizeTypes.h [X86][SSE] Reapplied: Simplify vector LOAD + EXTEND on pre-SSE41 hardware 2016-03-22 16:22:08 +00:00
LegalizeTypesGeneric.cpp
LegalizeVectorOps.cpp LegalizeDAG: Don't replace vector store with integer if not legal 2016-03-30 21:15:18 +00:00
LegalizeVectorTypes.cpp [X86][SSE] Reapplied: Simplify vector LOAD + EXTEND on pre-SSE41 hardware 2016-03-22 16:22:08 +00:00
LLVMBuild.txt
ResourcePriorityQueue.cpp
ScheduleDAGFast.cpp
ScheduleDAGRRList.cpp rangify; NFCI 2016-02-03 22:44:14 +00:00
ScheduleDAGSDNodes.cpp Avoid overly large SmallPtrSet/SmallSet 2016-01-30 01:24:31 +00:00
ScheduleDAGSDNodes.h
ScheduleDAGVLIW.cpp
SDNodeDbgValue.h
SelectionDAG.cpp [CodeGen] Remove constant-folding dead code. NFC. 2016-04-12 18:15:39 +00:00
SelectionDAGBuilder.cpp [CodeGen] Teach LLVM how to lower @llvm.{min,max}num to {MIN,MAX}NAN 2016-04-14 07:13:24 +00:00
SelectionDAGBuilder.h Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
SelectionDAGDumper.cpp AMDGPU: Implement canonicalize 2016-04-14 01:42:16 +00:00
SelectionDAGISel.cpp [SSP] Remove llvm.stackprotectorcheck. 2016-04-08 21:26:31 +00:00
SelectionDAGPrinter.cpp
SelectionDAGTargetInfo.cpp Rename TargetSelectionDAGInfo into SelectionDAGTargetInfo and move it to CodeGen/ 2016-01-27 16:32:26 +00:00
StatepointLowering.cpp Introduce an GCRelocateInst class [NFC] 2016-04-12 18:05:10 +00:00
StatepointLowering.h [StatepointLowering] Don't do two DenseMap lookups; nfci 2016-03-23 02:24:15 +00:00
TargetLowering.cpp TargetLowering: Factor out common code for tail call eligibility checking; NFC 2016-04-14 01:10:42 +00:00