llvm/test
Hal Finkel 82b3821208 Eliminate redundant CR moves on PPC32.
The 32-bit ABI requires CR bit 6 to be set if the call has fp arguments and
unset if it doesn't. The solution up to now was to insert a MachineNode to
set/unset the CR bit, which produces a CR vreg. This vreg was then copied
into CR bit 6. When the register allocator saw a bunch of these in the same
function, it allocated the set/unset CR bit in some random CR register (1
extra instruction) and then emitted CR moves before every vararg function
call, rather than just setting and unsetting CR bit 6 directly before every
vararg function call. This patch instead inserts a PPCcrset/PPCcrunset
instruction which are then matched by a dedicated instruction pattern.

Patch by Tobias von Koch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162725 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-28 02:10:27 +00:00
..
Analysis BranchProb: modify the definition of an edge in BranchProbabilityInfo to handle 2012-08-24 18:14:27 +00:00
Archive
Assembler The normal edge of an invoke is not allowed to branch to a block with a 2012-08-10 20:55:20 +00:00
Bindings/Ocaml Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
Bitcode More replacing of target-dependent intrinsics with target-indepdent 2012-07-18 00:02:16 +00:00
BugPoint
CodeGen Eliminate redundant CR moves on PPC32. 2012-08-28 02:10:27 +00:00
DebugInfo Add basic support for .debug_ranges section to LLVM's DebugInfo library. 2012-08-27 07:17:47 +00:00
ExecutionEngine Add Mips to the list of target architectures for the MCJIT tests. 2012-06-21 20:23:32 +00:00
Feature Change the linker_private_weak_def_auto' linkage to linkonce_odr_auto_hide' to 2012-08-17 18:33:14 +00:00
Instrumentation [asan] add code to detect global initialization fiasco in C/C++. The sub-pass is off by default for now. Patch by Reid Watson. Note: this patch changes the interface between LLVM and compiler-rt parts of asan. The corresponding patch to compiler-rt will follow. 2012-08-21 08:24:25 +00:00
Integer Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
Linker Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
MC Add option disable-mips-delay-filler. Turn on mips' delay slot filler by 2012-08-22 02:51:28 +00:00
Object Move test yaml files under Inputs until they are converted to be the actual 2012-08-02 21:52:49 +00:00
Other Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
Scripts This allows hello world to be compiled for Mips 64 direct object. 2012-06-27 22:48:25 +00:00
TableGen Convert all tests using TCL-style quoting to use shell-style quoting. 2012-07-02 12:47:22 +00:00
Transforms SimplifyLibCalls: Give all safely-shrinkable libcalls the same treatment. 2012-08-22 19:39:15 +00:00
Unit
Verifier Assert that dominates is not given a multiple edge. Finding out if we have 2012-08-17 18:21:28 +00:00
YAMLParser Convert the uses of '|&' to use '2>&1 |' instead, which works on old 2012-07-02 18:37:59 +00:00
CMakeLists.txt [CMake] Add yaml2obj to check-llvm. 2012-08-03 00:45:32 +00:00
lit.cfg llvm/test/lit.cfg: Retweak for Win32 to fix testing. 2012-07-03 03:59:34 +00:00
lit.site.cfg.in Remove 'site.exp' building from both CMake and configure+make. 2012-06-28 00:16:51 +00:00
Makefile Teach the LLVM test makefile to run the extra Clang tools' test suites 2012-08-09 20:26:41 +00:00
Makefile.tests
TestRunner.sh