diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2025-08-07 16:13:36 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-08-07 16:13:36 +0900 |
commit | 1110e2ff9f8d055af0b81267bf01d720421b4b70 (patch) | |
tree | f5e03e93edde3471c7f829fa8d66619d6db85016 /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 406d9b1dd6522cf18e61c4c4af66db765de8afed (diff) | |
download | llvm-1110e2ff9f8d055af0b81267bf01d720421b4b70.zip llvm-1110e2ff9f8d055af0b81267bf01d720421b4b70.tar.gz llvm-1110e2ff9f8d055af0b81267bf01d720421b4b70.tar.bz2 |
InlineFunction: Split inlining into predicate and apply functions (#134213)
This is to support a new inline function reduction in llvm-reduce,
which should pre-filter callsites that are not eligible for inlining.
This code was mostly structured as a match and apply, with a few
exceptions. The ugliest piece is for propagating and verifying
compatible
getGC and personalities. Also collection of EHPad and the convergence
token
to use are now cached in InlineFunctionInfo.
I was initially confused by the split between the checks performed here
and isInlineViable, so better document how this system is supposed to
work.
It turns out this split does make sense, in that isInlineViable checks
if it's possible based on the callee content and the ultimate inline
depended on the callsite context. I think more renames of these
functions
would help, and isInlineViable should probably move out of InlineCost to
be
with these transfoms.
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions