Skip to content
  • Jakob Stoklund Olesen's avatar
    Try to keep the cached inliner costs around for a bit longer for big functions. · b495cad7
    Jakob Stoklund Olesen authored
    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
    b495cad7
Loading