llvm-6502/lib/CodeGen/SelectionDAG
Dan Gohman 4401361a2f Don't create TargetGlobalAddress nodes with offsets that don't fit
in the 32-bit signed offset field of addresses. Even though this
may be intended, some linkers refuse to relocate code where the
relocated address computation overflows.

Also, fix the sign-extension of constant offsets to use the
actual pointer size, rather than the size of the GlobalAddress
node, which may be different, for example on x86-64 where MVT::i32
is used when the address is being fit into the 32-bit displacement
field.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57885 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-21 03:38:42 +00:00
..
CallingConvLower.cpp Add "inreg" field to CallSDNode (doesn't increase 2008-09-26 19:31:26 +00:00
CMakeLists.txt Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
DAGCombiner.cpp Use a legal integer type for vector shuffle mask 2008-10-19 14:58:05 +00:00
FastISel.cpp FastISel support for exception-handling constructs. 2008-10-14 23:54:11 +00:00
LegalizeDAG.cpp Make the NaN test come second, heuristically assuming 2008-10-21 03:12:54 +00:00
LegalizeFloatTypes.cpp Use DAG.getIntPtrConstant rather than DAG.getConstant 2008-10-20 16:14:43 +00:00
LegalizeIntegerTypes.cpp LegalizeTypes support for atomic operation promotion. 2008-10-20 16:17:42 +00:00
LegalizeTypes.cpp Add "inreg" field to CallSDNode (doesn't increase 2008-09-26 19:31:26 +00:00
LegalizeTypes.h Support operations like fp_to_uint with a vector 2008-10-20 16:31:21 +00:00
LegalizeTypesGeneric.cpp Rename ConstantSDNode::getValue to getZExtValue, for consistency 2008-09-12 16:56:44 +00:00
LegalizeVectorTypes.cpp Support operations like fp_to_uint with a vector 2008-10-20 16:31:21 +00:00
Makefile remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00
ScheduleDAG.cpp Separate MachineInstr-emitting routines from actual scheduling 2008-09-03 16:01:59 +00:00
ScheduleDAGEmit.cpp Next round of earlyclobber handling. Approach the 2008-09-24 01:07:17 +00:00
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 Fix command-line option printing to print two spaces where needed, 2008-10-14 20:25:08 +00:00
SelectionDAG.cpp Don't create TargetGlobalAddress nodes with offsets that don't fit 2008-10-21 03:38:42 +00:00
SelectionDAGBuild.cpp Fix gcc.c-torture/compile/920520-1.c by inserting bitconverts 2008-10-21 00:45:36 +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 Fast-isel no longer an experiment. 2008-10-20 21:30:12 +00:00
SelectionDAGPrinter.cpp Don't truncate GlobalAddress offsets to int in debug output. 2008-10-18 18:22:42 +00:00
TargetLowering.cpp Teach DAGCombine to fold constant offsets into GlobalAddress nodes, 2008-10-18 02:06:02 +00:00