llvm-6502/lib/CodeGen/SelectionDAG
Bob Wilson 8d91955d2b Allow target intrinsics that return multiple values, i.e., struct types,
in SelectionDAGLowering::visitTargetIntrinsic.

This removes a bit of special-case code for vector types.  After staring
at it for a while, I managed to convince myself that it is not necessary.
The only case where TLI.getValueType() differs from MVT::getMVT is for iPTR,
so this code could potentially make a difference for a vector of pointers.
But, it looks like that is not supported.  Calling TLI.getValueType() on
a vector of pointers leads to the following sequence of calls:

TargetLowering::getValueType
MVT::getMVT
MVT::getVectorVT(iPTR, num elements)
MVT::getExtendedVectorVT
MVT::getTypeForMVT for iPTR
assertion fails "Type is not extended!"

So, unless I'm really missing something, this bit of code is irrelevant to
the current version of LLVM, which is consistent with the fact that I don't
see this code in other similar places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77747 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-31 22:41:21 +00:00
..
CallingConvLower.cpp Get rid of the Pass+Context magic. 2009-07-22 00:24:57 +00:00
CMakeLists.txt Lexically order files in CMakeLists.txt files. 2009-07-15 21:08:16 +00:00
DAGCombiner.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
FastISel.cpp Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are 2009-07-31 20:28:14 +00:00
LegalizeDAG.cpp Move more code back to 2.5 APIs. 2009-07-30 23:03:37 +00:00
LegalizeFloatTypes.cpp Convert a few more things to use raw_ostream. 2009-07-25 01:43:01 +00:00
LegalizeIntegerTypes.cpp Convert a few more things to use raw_ostream. 2009-07-25 01:43:01 +00:00
LegalizeTypes.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
LegalizeTypes.h Nowadays vectors are only split if they have an even 2009-07-08 21:34:03 +00:00
LegalizeTypesGeneric.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
LegalizeVectorOps.cpp Make SINT_TO_FP/UINT_TO_FP vector legalization queries query on the 2009-06-06 03:27:50 +00:00
LegalizeVectorTypes.cpp Move types back to the 2.5 API. 2009-07-29 22:17:13 +00:00
Makefile remove dead makefile flags. 2009-06-24 05:29:56 +00:00
ScheduleDAGFast.cpp llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
ScheduleDAGList.cpp llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
ScheduleDAGRRList.cpp llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
ScheduleDAGSDNodes.cpp Move more to raw_ostream, provide support for writing MachineBasicBlock, 2009-07-24 10:36:58 +00:00
ScheduleDAGSDNodes.h Rename COPY_TO_SUBCLASS to COPY_TO_REGCLASS, and generalize 2009-04-13 21:06:25 +00:00
ScheduleDAGSDNodesEmit.cpp Optimize some common usage patterns of atomic built-ins __sync_add_and_fetch() and __sync_sub_and_fetch. 2009-07-30 08:33:02 +00:00
SelectionDAG.cpp Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering. 2009-07-30 09:12:56 +00:00
SelectionDAGBuild.cpp Allow target intrinsics that return multiple values, i.e., struct types, 2009-07-31 22:41:21 +00:00
SelectionDAGBuild.h llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable. 2009-07-14 16:55:14 +00:00
SelectionDAGISel.cpp Reapply r77654 with a fix: MachineFunctionPass's getAnalysisUsage 2009-07-31 18:16:33 +00:00
SelectionDAGPrinter.cpp Switch to getNameStr(). 2009-07-24 08:24:36 +00:00
TargetLowering.cpp Allow targets to define libcall names for mem(cpy,set,move) intrinsics, rather than hardcoding them in DAG lowering. 2009-07-30 09:12:56 +00:00