llvm/test
Arnold Schwaighofer 30e62c098b Tail call optimization improvements:
Move platform independent code (lowering of possibly overwritten
arguments, check for tail call optimization eligibility) from
target X86ISelectionLowering.cpp to TargetLowering.h and
SelectionDAGISel.cpp.

Initial PowerPC tail call implementation:

Support ppc32 implemented and tested (passes my tests and
test-suite llvm-test).  
Support ppc64 implemented and half tested (passes my tests).
On ppc tail call optimization is performed if 
  caller and callee are fastcc
  call is a tail call (in tail call position, call followed by ret)
  no variable argument lists or byval arguments
  option -tailcallopt is enabled
Supported:
 * non pic tail calls on linux/darwin
 * module-local tail calls on linux(PIC/GOT)/darwin(PIC)
 * inter-module tail calls on darwin(PIC)
If constraints are not met a normal call will be emitted.

A test checking the argument lowering behaviour on x86-64 was added.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50477 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-30 09:16:33 +00:00
..
Analysis rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
Archive Delete the svn:executable property on these files, which aren't executable. 2007-07-23 19:26:08 +00:00
Assembler returning an empty multiple return list is not valid. 2008-04-23 05:29:14 +00:00
Bindings/Ocaml Expose ExecutionEngine::getTargetData() to c and ocaml bindings. 2008-03-27 00:27:14 +00:00
Bitcode fix this test. 2008-02-17 00:15:25 +00:00
BugPoint Remove llvm-upgrade 2008-02-17 00:15:09 +00:00
C++Frontend Add -m32 to compilation line; test is only valid in 2008-03-10 17:56:53 +00:00
CFrontend new testcase for PR2094. The inline asms should not pin allocas to the 2008-04-29 05:53:29 +00:00
CodeGen Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
DebugInfo Remove llvm-upgrade and update tests. 2008-03-10 07:21:50 +00:00
ExecutionEngine rename *.llx -> *.ll, last batch. 2008-04-19 22:32:52 +00:00
Feature Update test 2008-04-25 17:54:21 +00:00
FrontendAda Testcase for gimplify_expr crash caused by an 2008-01-15 19:55:41 +00:00
FrontendObjC new testcase 2008-04-25 18:11:06 +00:00
Integer refactor handling of symbolic constant folding, picking up 2008-04-19 21:58:19 +00:00
lib Fix tests due to llvm2cpp move to llc target 2008-04-23 22:41:53 +00:00
Linker This passes now 2008-03-10 22:34:11 +00:00
Other Fix tests due to llvm2cpp move to llc target 2008-04-23 22:41:53 +00:00
Scripts Add a test script for counting lines. This can be used instead of the 2007-08-10 15:07:05 +00:00
TableGen Rename MRegisterInfo to TargetRegisterInfo. 2008-02-10 18:45:23 +00:00
Transforms Move this test to LoopDeletion, where it now passes. 2008-04-30 07:17:22 +00:00
Verifier Add testcase for prev. commit. Minor fixes 2008-03-22 08:37:05 +00:00
Makefile Add EXTRA_OPTIONS on the llvmgxx command line. 2008-04-24 17:59:03 +00:00
Makefile.tests Failure.sh is dead, remove it. 2007-04-21 20:46:55 +00:00
TestRunner.sh Avoid an infinite loop when TestRunner.sh is run outside of the test dir. 2007-05-18 02:06:03 +00:00