1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/lib/Transforms
Nick Lewycky d7c0e22d5f Improve 'tail' call marking in TRE. A bootstrap of clang goes from 375k calls marked tail in the IR to 470k, however this improvement does not carry into an improvement of the call/jmp ratio on x86. The most common pattern is a tail call + br to a block with nothing but a 'ret'.
The number of tail call to loop conversions remains the same (1618 by my count).

The new algorithm does a local scan over the use-def chains to identify local "alloca-derived" values, as well as points where the alloca could escape. Then, a visit over the CFG marks blocks as being before or after the allocas have escaped, and annotates the calls accordingly.

llvm-svn: 208017
2014-05-05 23:59:03 +00:00
..
Hello [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE 2014-04-22 02:55:47 +00:00
InstCombine Also handle ConstantAggregateZero when optimizing vpermilvar*. 2014-04-29 22:20:40 +00:00
Instrumentation [ASan/Win] Fix issue 305 -- don't instrument .CRT initializer/terminator callbacks 2014-05-05 14:28:38 +00:00
IPO Reapply: Add slp vectorization to LTO passes. The bug it exposed has been fixed by r207983. <radar://16641956> 2014-05-05 23:14:46 +00:00
ObjCARC [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
Scalar Improve 'tail' call marking in TRE. A bootstrap of clang goes from 375k calls marked tail in the IR to 470k, however this improvement does not carry into an improvement of the call/jmp ratio on x86. The most common pattern is a tail call + br to a block with nothing but a 'ret'. 2014-05-05 23:59:03 +00:00
Utils Teach GlobalDCE how to remove empty global_ctor entries. 2014-05-02 18:35:25 +00:00
Vectorize Always set alignment of vectorized LD/ST in SLP-Vectorizer. <rdar://problem/16812145> 2014-05-05 17:59:14 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile