llvm-6502/lib
Eli Bendersky a5597f0eaf In this patch, we teach X86_64TargetMachine that it has a ILP32
(defined by the x32 ABI) mode, in which case its pointers are 32-bits
in size. This knowledge is also added to X86RegisterInfo that now
returns the appropriate registers in getPointerRegClass.

There are many outcomes to this change. In order to keep the patches
separate and manageable, we start by focusing on some simple testable
cases. The patch adds a test with passing a pointer to a function -
focusing on the difference between the two data models for x86-64.
Another test is added for handling of 'sret' arguments (and
functionality is added in X86ISelLowering to make it work).

A note on naming: the "x32 ABI" document refers to the AMD64
architecture (in LLVM it's distinguished by being is64Bits() in the
x86 subtarget) with two variations: the LP64 (default) data model, and
the ILP32 data model. This patch adds predicates to the subtarget
which are consistent with this naming scheme.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173503 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-25 22:07:43 +00:00
..
Analysis ConstantFolding: Add a missing folding that leads to a miscompile. 2013-01-24 16:28:28 +00:00
Archive Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AsmParser Add the IR attribute 'sspstrong'. 2013-01-23 06:41:41 +00:00
Bitcode Use the new 'getSlotIndex' method to retrieve the attribute's slot index. 2013-01-25 21:46:52 +00:00
CodeGen Use const reference instead of vector copying. 2013-01-25 21:44:27 +00:00
DebugInfo Add command-line flags for DWARF dumping. 2013-01-25 20:26:43 +00:00
ExecutionEngine Make APFloat constructor require explicit semantics. 2013-01-22 09:46:31 +00:00
IR Use the new 'getSlotIndex' method to retrieve the attribute's slot index. 2013-01-25 21:46:52 +00:00
Linker [Linker] Kill Linker::LoadObject which is dead, and drop the BitReader dependency again. 2013-01-18 19:37:11 +00:00
MC Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default. 2013-01-23 16:22:04 +00:00
Object When encountering an unknown file format, ObjectFile::createObjectFile should 2013-01-25 20:53:41 +00:00
Option Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
Support APFloat: Make sure that we get a well-formed x87 NaN when converting from a smaller type. 2013-01-25 17:01:00 +00:00
TableGen Add an addition operator to TableGen 2013-01-25 14:49:08 +00:00
Target In this patch, we teach X86_64TargetMachine that it has a ILP32 2013-01-25 22:07:43 +00:00
Transforms LoopVectorize: Refactor the code that vectorizes loads/stores to remove duplication. 2013-01-25 21:47:42 +00:00
CMakeLists.txt Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
LLVMBuild.txt Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00
Makefile Rename VMCore directory to IR. 2013-01-02 09:10:48 +00:00