llvm-6502/lib/CodeGen/SelectionDAG
Duncan Sands a921a46854 Simplify SplitVecRes_UnaryOp by removing all the code that is
trying to legalize the operand types when only the result type
is required to be legalized - the type legalization machinery
will get round to the operands later if they need legalizing.
There can be a point to legalizing operands in parallel with
the result: when this saves compile time or results in better
code.  There was only one case in which this was true: when
the operand is also split, so keep the logic for that bit.
As a result of this change, additional operand legalization
methods may need to be introduced to handle nodes where the
result and operand types can differ, like SIGN_EXTEND, but
the testsuite doesn't contain any tests where this is the case.
In any case, it seems better to require such methods (and die
with an assert if they doesn't exist) than to quietly produce
wrong code if we forgot to special case the node in
SplitVecRes_UnaryOp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143026 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-26 14:11:18 +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
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 Simplify SplitVecRes_UnaryOp by removing all the code that is 2011-10-26 14:11:18 +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
ScheduleDAGSDNodes.h
SDNodeDbgValue.h
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
TargetLowering.cpp Change the default scheduler from Latency to ILP, since Latency 2011-10-24 17:45:02 +00:00
TargetSelectionDAGInfo.cpp