aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-03-09 23:02:17 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-03-09 23:02:17 +0000
commitb495cad7caecebc5bfc18741098c1601532b7d27 (patch)
treef9b8752b5a7ee770f39457be5d9073618a4b0114 /llvm/lib/CodeGen/MachineFunction.cpp
parentb70c2f795e6bfd0d8d793b9c2a56edb29c768b63 (diff)
downloadllvm-b495cad7caecebc5bfc18741098c1601532b7d27.zip
llvm-b495cad7caecebc5bfc18741098c1601532b7d27.tar.gz
llvm-b495cad7caecebc5bfc18741098c1601532b7d27.tar.bz2
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
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions