llvm-6502/lib/CodeGen/SelectionDAG
Nate Begeman 9008ca6b6b 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan.
PR2957

ISD::VECTOR_SHUFFLE now stores an array of integers representing the shuffle
mask internal to the node, rather than taking a BUILD_VECTOR of ConstantSDNodes
as the shuffle mask.  A value of -1 represents UNDEF.

In addition to eliminating the creation of illegal BUILD_VECTORS just to 
represent shuffle masks, we are better about canonicalizing the shuffle mask,
resulting in substantially better code for some classes of shuffles.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70225 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 18:41:29 +00:00
..
CallingConvLower.cpp
CMakeLists.txt
DAGCombiner.cpp 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
FastISel.cpp
LegalizeDAG.cpp 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
LegalizeFloatTypes.cpp Refactor the code to grab the low and high parts of a value 2009-04-25 17:55:53 +00:00
LegalizeIntegerTypes.cpp
LegalizeTypes.cpp Refactor the code to grab the low and high parts of a value 2009-04-25 17:55:53 +00:00
LegalizeTypes.h Refactor the code to grab the low and high parts of a value 2009-04-25 17:55:53 +00:00
LegalizeTypesGeneric.cpp Refactor the code to grab the low and high parts of a value 2009-04-25 17:55:53 +00:00
LegalizeVectorTypes.cpp 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
Makefile
ScheduleDAGFast.cpp
ScheduleDAGList.cpp
ScheduleDAGRRList.cpp
ScheduleDAGSDNodes.cpp
ScheduleDAGSDNodes.h
ScheduleDAGSDNodesEmit.cpp
SelectionDAG.cpp 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
SelectionDAGBuild.cpp 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
SelectionDAGBuild.h
SelectionDAGISel.cpp
SelectionDAGPrinter.cpp
TargetLowering.cpp