llvm-6502/lib/CodeGen/SelectionDAG
Duncan Sands 8745b52853 LegalizeTypes support for legalizing the mask
operand of a VECTOR_SHUFFLE.  The mask is a
vector of constant integers.  The code in
LegalizeDAG doesn't bother to legalize the
mask, since it's basically just storage for
a bunch of constants, however LegalizeTypes
is more picky.  The problem is that there may
not exist any legal vector-of-integers type
with a legal element type, so it is impossible
to create a legal mask!  Unless of course you
cheat by creating a BUILD_VECTOR where the
operands have a different type to the element
type of the vector being built...  This is
pretty ugly but works - all relevant tests in
the testsuite pass, and produce the same
assembler with and without LegalizeTypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47670 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-27 13:03:44 +00:00
..
CallingConvLower.cpp Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
DAGCombiner.cpp Convert SimplifyDemandedMask and ShrinkDemandedConstant to use APInt. 2008-02-27 00:25:32 +00:00
LegalizeDAG.cpp Support for legalizing MEMBARRIER. 2008-02-27 08:53:44 +00:00
LegalizeTypes.cpp Fix a nasty bug in LegalizeTypes (spotted in 2008-02-26 11:21:42 +00:00
LegalizeTypes.h LegalizeTypes support for legalizing the mask 2008-02-27 13:03:44 +00:00
LegalizeTypesExpand.cpp Fix a nasty bug in LegalizeTypes (spotted in 2008-02-26 11:21:42 +00:00
LegalizeTypesPromote.cpp LegalizeTypes support for INSERT_VECTOR_ELT. 2008-02-27 10:18:23 +00:00
LegalizeTypesScalarize.cpp LegalizeTypes support for INSERT_VECTOR_ELT. 2008-02-27 10:18:23 +00:00
LegalizeTypesSplit.cpp LegalizeTypes support for legalizing the mask 2008-02-27 13:03:44 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
ScheduleDAG.cpp Rename CountMemOperands to ComputeMemOperandsEnd to reflect what 2008-02-16 00:36:48 +00:00
ScheduleDAGList.cpp Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
ScheduleDAGRRList.cpp Update gcc 4.3 warnings fix patch with recent head changes 2008-02-20 11:10:28 +00:00
SelectionDAG.cpp Convert the last remaining users of the non-APInt form of 2008-02-27 01:23:58 +00:00
SelectionDAGISel.cpp Refactor inline asm constraint matching code out of SDIsel into TargetLowering. 2008-02-26 02:33:44 +00:00
SelectionDAGPrinter.cpp Final de-tabification. 2008-02-27 06:33:05 +00:00
TargetLowering.cpp Convert SimplifyDemandedMask and ShrinkDemandedConstant to use APInt. 2008-02-27 00:25:32 +00:00