llvm-6502/lib/CodeGen/SelectionDAG
Nadav Rotem d0f3ef807e [VECTOR-SELECT]
During type legalization we often use the SIGN_EXTEND_INREG SDNode.
When this SDNode is legalized during the LegalizeVector phase, it is
scalarized because non-simple types are automatically marked to be expanded.
In this patch we add support for lowering SIGN_EXTEND_INREG manually.
This fixes CodeGen/X86/vec_sext.ll when running with the '-promote-elements'
flag.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135144 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-14 11:11:14 +00:00
..
CMakeLists.txt
DAGCombiner.cpp Add a dag combine pattern for folding C2-(A+C1) -> (C2-C1)-A 2011-07-14 01:12:15 +00:00
FastISel.cpp Convert InsertValueInst and ExtractValueInst APIs to use ArrayRef. 2011-07-13 10:26:04 +00:00
FunctionLoweringInfo.cpp Add a parameter to CCState so that it can access the MachineFunction. 2011-06-08 23:55:35 +00:00
InstrEmitter.cpp - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
InstrEmitter.h - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
LegalizeDAG.cpp Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
LegalizeFloatTypes.cpp Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
LegalizeIntegerTypes.cpp Fix PromoteIntRes_TRUNCATE: Add support for cases where the 2011-06-20 07:15:58 +00:00
LegalizeTypes.cpp Refactor LegalizeTypes: Erase LegalizeAction and make the type legalizer use 2011-06-01 19:47:10 +00:00
LegalizeTypes.h Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
LegalizeTypesGeneric.cpp Refactor LegalizeTypes: Erase LegalizeAction and make the type legalizer use 2011-06-01 19:47:10 +00:00
LegalizeVectorOps.cpp [VECTOR-SELECT] 2011-07-14 11:11:14 +00:00
LegalizeVectorTypes.cpp Fix a bug in FindMemType. When widening vector loads, use a wider memory type 2011-06-13 18:13:24 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
ScheduleDAGFast.cpp - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +00:00
ScheduleDAGList.cpp Various bits of framework needed for precise machine-level selection 2010-12-24 05:03:26 +00:00
ScheduleDAGRRList.cpp - Rename TargetInstrDesc, TargetOperandInfo to MCInstrDesc and MCOperandInfo and 2011-06-28 19:10:37 +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 Add assertion for the chain value type 2011-07-14 10:37:54 +00:00
SelectionDAGBuilder.cpp Don't emit a bit test if there is only one case the test can yield false. A simple SETNE is sufficient. 2011-07-14 01:38:42 +00:00
SelectionDAGBuilder.h Emit a more efficient magic number multiplication for exact sdivs. 2011-07-08 10:31:30 +00:00
SelectionDAGISel.cpp Revert r133953 for now. 2011-06-29 23:50:13 +00:00
SelectionDAGPrinter.cpp Pass the graph to the DOTGraphTraits.getEdgeAttributes(). 2011-02-27 04:11:03 +00:00
TargetLowering.cpp Add an intrinsic and codegen support for fused multiply-accumulate. The intent 2011-07-08 21:39:21 +00:00
TargetSelectionDAGInfo.cpp