1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 20:43:44 +02:00
llvm-mirror/lib/Transforms
Jakob Stoklund Olesen 189a55cc16 Try to keep the cached inliner costs around for a bit longer for big functions.
The Caller cost info would be reset everytime a callee was inlined. If the
caller has lots of calls and there is some mutual recursion going on, the
caller cost info could be calculated many times.

This patch reduces inliner runtime from 240s to 0.5s for a function with 20000
small function calls.

This is a more conservative version of r98089 that doesn't break the clang
test CodeGenCXX/temp-order.cpp. That test relies on rather extreme inlining
for constant folding.

llvm-svn: 98099
2010-03-09 23:02:17 +00:00
..
Hello Prune #includes. 2010-03-01 17:42:17 +00:00
InstCombine Re-commit 97860 with fix. getMallocAllocatedType may return null. 2010-03-08 22:54:36 +00:00
Instrumentation Uniformize the names of type predicates: rather than having isFloatTy and 2010-02-15 16:12:20 +00:00
IPO Try to keep the cached inliner costs around for a bit longer for big functions. 2010-03-09 23:02:17 +00:00
Scalar Migrate _chk call lowering from SimplifyLibCalls to InstCombine. Stub 2010-03-06 10:50:38 +00:00
Utils Avoid using DIDescriptor.isNull(). 2010-03-08 20:52:55 +00:00
Makefile move instcombine to its own library, it's past time. 2010-01-04 06:23:24 +00:00