llvm-6502/lib
Owen Anderson 5aa4f2a085 Add support to GVN for performing sret return slot optimization. This means that, if an sret function tail calls
another sret function, it should pass its own sret parameter to the tail callee, allowing it to fill in the correct
return value.  llvm-gcc does not emit this by default.  Instead, it allocates space in the caller for the sret of
the tail call and then uses memcpy to copy the result into the caller's sret parameter.  This optimization detects
and optimizes that case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 09:24:53 +00:00
..
Analysis This check is not correct for mallocs, so exclude them earlier. 2008-02-18 09:11:02 +00:00
Archive Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
AsmParser Back out mods to llvmAsmParser, incorrectly committed 2008-01-30 03:10:00 +00:00
Bitcode Use empty() instead of comparing size() with zero. 2008-01-29 13:02:09 +00:00
CodeGen For now, avoid commuting def MI for copy MI's whose source is not killed. That simply trade a live interval for another and because only the non-two-address operands can be folded into loads, may end up pessimising code. 2008-02-18 08:40:53 +00:00
Debugger
ExecutionEngine Support vector constant zeros, thanks to Zack Rusin for the testcase. 2008-02-15 00:57:28 +00:00
Linker
Support Fixed bug in FoldingSetIteratorImpl where we did not correctly check if 2008-02-15 21:12:46 +00:00
System It is not safe to call fork in PrintStackTrace. Sometimes it freezes the program. 2008-02-15 18:05:54 +00:00
Target move PR2053 to here. 2008-02-17 19:43:57 +00:00
Transforms Add support to GVN for performing sret return slot optimization. This means that, if an sret function tail calls 2008-02-18 09:24:53 +00:00
VMCore I got the predicate backwards in my last patch. The comment is correct, the code was not. 2008-02-18 09:22:21 +00:00
Makefile