1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-02 00:42:52 +01:00
llvm-mirror/include/llvm/Transforms
Chris Lattner 7785b6000e Implement a new optimization in the inliner: if inlining multiple
calls into a function and if the calls bring in arrays, try to merge
them together to reduce stack size.  For example, in the testcase
we'd previously end up with 4 allocas, now we end up with 2 allocas.

As described in the comments, this is not really the ideal solution
to this problem, but it is surprisingly effective.  For example, on
176.gcc, we end up eliminating 67 arrays at "gccas" time and another
24 at "llvm-ld" time.

One piece of concern that I didn't look into: at -O0 -g with
forced inlining this will almost certainly result in worse debug
info.  I think this is acceptable though given that this is a case
of "debugging optimized code", and we don't want debug info to
prevent the optimizer from doing things anyway.

llvm-svn: 80215
2009-08-27 06:29:33 +00:00
..
IPO Implement a new optimization in the inliner: if inlining multiple 2009-08-27 06:29:33 +00:00
Utils reduce header #include'age 2009-08-27 04:32:07 +00:00
Instrumentation.h fix typos 2008-03-06 10:36:00 +00:00
IPO.h Add an early implementation of a partial inlining pass. The idea behind this 2009-06-14 08:26:32 +00:00
RSProfiling.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
Scalar.h Update comments to new-style syntax. 2009-07-25 16:03:55 +00:00