llvm-6502/lib/CodeGen/SelectionDAG
Duncan Sands d821726a91 Make VAARG promotion work correctly with large funky
sized integers like i129, and also reduce the number
of assumptions made about how vaarg is implemented.
This still doesn't work correctly for small integers
like (eg) i1 on x86, since x86 passes each of them
(essentially an i8) in a 4 byte stack slot, so the
pointer needs to be advanced by 4 bytes not by 1 byte
as now.  But this is no longer a LegalizeTypes problem
(it was also wrong in LT before): it is a bug in the
operation expansion in LegalizeDAG: now LegalizeTypes
turns an i1 vaarg into an i8 vaarg which would work
fine if only the i8 vaarg was turned into correct code
later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58635 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-03 20:22:12 +00:00
..
CallingConvLower.cpp
CMakeLists.txt
DAGCombiner.cpp Don't produce invalid comparisons after legalize. 2008-10-28 07:11:07 +00:00
FastISel.cpp FastISel support for exception-handling constructs. 2008-10-14 23:54:11 +00:00
LegalizeDAG.cpp Make VAARG work with x86 long double (which is 2008-11-03 11:51:11 +00:00
LegalizeFloatTypes.cpp Add a bunch of libcalls for ppcf128 that were somehow 2008-10-31 14:06:52 +00:00
LegalizeIntegerTypes.cpp Make VAARG promotion work correctly with large funky 2008-11-03 20:22:12 +00:00
LegalizeTypes.cpp Add a bunch of libcalls for ppcf128 that were somehow 2008-10-31 14:06:52 +00:00
LegalizeTypes.h Add a bunch of libcalls for ppcf128 that were somehow 2008-10-31 14:06:52 +00:00
LegalizeTypesGeneric.cpp Fix PR2977: LegalizeTypes support for expanding 2008-10-29 14:25:28 +00:00
LegalizeVectorTypes.cpp Support operations like fp_to_uint with a vector 2008-10-20 16:31:21 +00:00
Makefile
ScheduleDAG.cpp SDNodes may have at most one Flag result. Update this comment 2008-10-25 17:51:24 +00:00
ScheduleDAGEmit.cpp
ScheduleDAGFast.cpp Fix command-line option printing to print two spaces where needed, 2008-10-14 20:25:08 +00:00
ScheduleDAGList.cpp Fix command-line option printing to print two spaces where needed, 2008-10-14 20:25:08 +00:00
ScheduleDAGRRList.cpp Remove some unused virtual function bodies. 2008-10-31 19:06:33 +00:00
SelectionDAG.cpp Fix PR2986: do not use a potentially illegal 2008-10-30 20:26:50 +00:00
SelectionDAGBuild.cpp Added interface to allow clients to create a MemIntrinsicNode for 2008-11-01 20:24:53 +00:00
SelectionDAGBuild.h Factor out the code for mapping LLVM IR condition opcodes to 2008-10-17 21:16:08 +00:00
SelectionDAGISel.cpp Take Chris' suggestion and define EnableFastISelVerbose and 2008-10-28 20:35:31 +00:00
SelectionDAGPrinter.cpp Fix bogus comparison of "const char *" with c-string literal. Use strcmp instead. 2008-10-27 22:43:07 +00:00
TargetLowering.cpp Add initial support for vector widening. Logic is set to widen for X86. 2008-10-30 08:01:45 +00:00