llvm-project/llvm/test
Eli Bendersky 597fc1233a 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.

llvm-svn: 173503
2013-01-25 22:07:43 +00:00
..
Analysis Make opt grab the triple from the module and use it to initialize the target machine. 2013-01-01 08:00:32 +00:00
Archive
Assembler Fast-math test case for bitcode and textual reading/writing 2012-11-27 00:45:08 +00:00
Bindings/Ocaml Move TargetData to DataLayout. 2012-10-08 16:39:34 +00:00
Bitcode Change encoding of instruction operands in bitcode binaries to be relative 2012-10-11 20:20:40 +00:00
BugPoint Fix unexpected passes. These test do work with LTO on linux. I tested both 2012-10-26 02:19:02 +00:00
CodeGen In this patch, we teach X86_64TargetMachine that it has a ILP32 2013-01-25 22:07:43 +00:00
DebugInfo Add back a RUN line removed by mistake by a previous commit 2013-01-25 21:58:09 +00:00
ExecutionEngine Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
Feature There was a switch fall-through in the parser for textual LLVM that caused 2013-01-07 13:32:38 +00:00
FileCheck Fix a bug in FileCheck that wouldn't let define variables as follows: 2012-12-02 16:02:41 +00:00
Instrumentation [msan] Implement exact shadow propagation for relational ICmp. 2013-01-25 15:31:10 +00:00
Integer Remove the dependent libraries feature. 2012-11-27 09:55:56 +00:00
JitListener Use the 'count' attribute to calculate the upper bound of an array. 2012-12-04 21:34:03 +00:00
Linker [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
MC Add instruction encodings / disassembly support for l4r instructions. 2013-01-25 21:55:32 +00:00
Object [llvm-objdump] Emit addresses with the correct number of leading 0's. 2013-01-10 22:40:50 +00:00
Other llvm/test/Other/close-stderr.ll: Mark this as XFAIL:valgrind. We got 127 instead of 1 here. 2013-01-20 03:35:39 +00:00
Scripts Added program header emission 2012-11-16 20:51:32 +00:00
TableGen Improve the !add TableGen test case. 2013-01-25 20:29:25 +00:00
Transforms Switch this code away from Value::isUsedInBasicBlock. That code either 2013-01-25 05:40:09 +00:00
Unit
Verifier [IR] Add 'Append' and 'AppendUnique' module flag behaviors. 2013-01-16 21:38:56 +00:00
YAMLParser Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
tools PR10867: Analogue of r169441 for when using external 'sh'. And actually run the test! 2012-12-05 23:15:33 +00:00
CMakeLists.txt Adding tests for the Intel JIT event listener's MCJIT support. 2012-11-21 20:38:26 +00:00
Makefile Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
Makefile.tests
TestRunner.sh
lit.cfg Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00
lit.site.cfg.in Introduce llvm::sys::getProcessTriple() function. 2013-01-16 17:27:22 +00:00