mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-22 10:24:26 +00:00
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98089 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -45,6 +45,9 @@ namespace {
|
||||
void resetCachedCostInfo(Function *Caller) {
|
||||
CA.resetCachedCostInfo(Caller);
|
||||
}
|
||||
void growCachedCostInfo(Function* Caller, Function* Callee) {
|
||||
CA.growCachedCostInfo(Caller, Callee);
|
||||
}
|
||||
virtual bool doInitialization(CallGraph &CG);
|
||||
};
|
||||
}
|
||||
|
Reference in New Issue
Block a user