aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2025-08-07 16:13:36 +0900
committerGitHub <noreply@github.com>2025-08-07 16:13:36 +0900
commit1110e2ff9f8d055af0b81267bf01d720421b4b70 (patch)
treef5e03e93edde3471c7f829fa8d66619d6db85016 /clang/lib/Frontend/CompilerInvocation.cpp
parent406d9b1dd6522cf18e61c4c4af66db765de8afed (diff)
downloadllvm-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