Skip to content
  • Mircea Trofin's avatar
    [llvm][inliner] Reuse the inliner pass to implement 'always inliner' · 5fe10263
    Mircea Trofin authored
    Enable performing mandatory inlinings upfront, by reusing the same logic
    as the full inliner, instead of the AlwaysInliner. This has the
    following benefits:
    - reduce code duplication - one inliner codebase
    - open the opportunity to help the full inliner by performing additional
    function passes after the mandatory inlinings, but before th full
    inliner. Performing the mandatory inlinings first simplifies the problem
    the full inliner needs to solve: less call sites, more contextualization, and,
    depending on the additional function optimization passes run between the
    2 inliners, higher accuracy of cost models / decision policies.
    
    Note that this patch does not yet enable much in terms of post-always
    inline function optimization.
    
    Differential Revision: https://reviews.llvm.org/D91567
    5fe10263
Loading