llvm-6502/lib/CodeGen/SelectionDAG
Jakob Stoklund Olesen 794439183a Don't use floating point to do an integer's job.
This code makes different decisions when compiled into x87 instructions
because of different rounding behavior.  That caused phase 2/3
miscompares on 32-bit Linux when the phase 1 compiler was built with gcc
(using x87), and the phase 2 compiler was built with clang (using SSE).

This fixes PR11200.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143006 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 01:47:48 +00:00
..
CMakeLists.txt Really unbreak CMake build 2011-10-24 18:10:52 +00:00
DAGCombiner.cpp Remove a couple redundant checks. 2011-10-25 20:34:22 +00:00
FastISel.cpp Fix a thinko that Nick noticed. The previous code actually worked as 2011-10-12 15:56:56 +00:00
FunctionLoweringInfo.cpp Directly point debug info to the stack slot of the arugment, instead of trying to keep track of vreg in which it the arugment is copied. The LiveDebugVariable can keep track of variable's ranges. 2011-09-08 22:59:09 +00:00
InstrEmitter.cpp Simplify EXTRACT_SUBREG emission. 2011-10-05 20:26:40 +00:00
InstrEmitter.h Simplify EXTRACT_SUBREG emission. 2011-10-05 20:26:40 +00:00
LegalizeDAG.cpp Move the legalization of vector loads and stores into LegalizeVectorOps. In some 2011-10-15 07:41:10 +00:00
LegalizeFloatTypes.cpp Tweak the handling of MERGE_VALUES nodes: remove the need for 2011-09-23 13:59:22 +00:00
LegalizeIntegerTypes.cpp 1. Fix the widening of SETCC in WidenVecOp_SETCC. Use the correct return CC type. 2011-10-21 11:42:07 +00:00
LegalizeTypes.cpp Tweak the handling of MERGE_VALUES nodes: remove the need for 2011-09-23 13:59:22 +00:00
LegalizeTypes.h 1. Fix the widening of SETCC in WidenVecOp_SETCC. Use the correct return CC type. 2011-10-21 11:42:07 +00:00
LegalizeTypesGeneric.cpp Tweak the handling of MERGE_VALUES nodes: remove the need for 2011-09-23 13:59:22 +00:00
LegalizeVectorOps.cpp Improve code generation for vselect on SSE2: 2011-10-19 20:43:16 +00:00
LegalizeVectorTypes.cpp Fix pr11194. When promoting and splitting integers we need to use 2011-10-21 17:35:19 +00:00
Makefile
ScheduleDAGFast.cpp - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
ScheduleDAGRRList.cpp Change this overloaded use of Sched::Latency to be an overloaded 2011-10-24 17:55:11 +00:00
ScheduleDAGSDNodes.cpp Rename TargetSubtarget to TargetSubtargetInfo for consistency. 2011-07-01 21:01:15 +00:00
ScheduleDAGSDNodes.h The index stored in the RegDefIter is one after the current index. When getting the index, decrement it so that it points to the current element. Fixes an off-by-one bug encountered when trying to make use of MVT::untyped. 2011-06-27 18:34:12 +00:00
SDNodeDbgValue.h Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. 2011-02-18 22:43:42 +00:00
SDNodeOrdering.h
SelectionDAG.cpp Fix a bunch of unused variable warnings when doing a release 2011-10-18 12:44:00 +00:00
SelectionDAGBuilder.cpp Don't use floating point to do an integer's job. 2011-10-26 01:47:48 +00:00
SelectionDAGBuilder.h Remove the old atomic instrinsics. autoupgrade functionality is included with this patch. 2011-10-06 23:20:49 +00:00
SelectionDAGISel.cpp Delete the Latency scheduling preference. 2011-10-24 17:56:48 +00:00
SelectionDAGPrinter.cpp Pass the graph to the DOTGraphTraits.getEdgeAttributes(). 2011-02-27 04:11:03 +00:00
TargetLowering.cpp Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
TargetSelectionDAGInfo.cpp