aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMircea Trofin <mtrofin@google.com>2020-11-16 14:01:53 -0800
committerMircea Trofin <mtrofin@google.com>2020-11-30 12:03:39 -0800
commit5fe10263ab39be96e316f37272b85a72596a7928 (patch)
tree9cd42685a6c1c338363e12131380bfefd2e2048a /llvm/.gitattributes
parent[DL] Inline getAlignmentInfo() implementation (NFC) (diff)
downloadllvm-project-5fe10263ab39be96e316f37272b85a72596a7928.tar.gz
llvm-project-5fe10263ab39be96e316f37272b85a72596a7928.tar.bz2
llvm-project-5fe10263ab39be96e316f37272b85a72596a7928.zip
[llvm][inliner] Reuse the inliner pass to implement 'always inliner'
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
Diffstat (limited to 'llvm/.gitattributes')
0 files changed, 0 insertions, 0 deletions