aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Commands/CommandObjectCommands.cpp
diff options
context:
space:
mode:
authorAmara Emerson <amara@apple.com>2023-02-08 19:52:00 -0800
committerAmara Emerson <amara@apple.com>2023-02-09 16:49:29 -0800
commitcae033dcf227aeecf58fca5af6fc7fde1fd2fb4f (patch)
treea48a0df3feea2a252403a20a32a64a832e43eef5 /lldb/source/Commands/CommandObjectCommands.cpp
parente6edc1bd69c881eabf78c439be7f42a639f0df79 (diff)
downloadllvm-cae033dcf227aeecf58fca5af6fc7fde1fd2fb4f.zip
llvm-cae033dcf227aeecf58fca5af6fc7fde1fd2fb4f.tar.gz
llvm-cae033dcf227aeecf58fca5af6fc7fde1fd2fb4f.tar.bz2
Inlining: Run the legacy AlwaysInliner before the regular inliner.
We have several situations where it's beneficial for code size to ensure that every call to always-inline functions are inlined before normal inlining decisions are made. While the normal inliner runs in a "MandatoryOnly" mode to try to do this, it only does it on a per-SCC basis, rather than the whole module. Ensuring that all mandatory inlinings are done before any heuristic based decisions are made just makes sense. Despite being referred to the "legacy" AlwaysInliner pass, it's already necessary for -O0 because the CGSCC inliner is too expensive in compile time to run at -O0. This also fixes an exponential compile time blow up in https://github.com/llvm/llvm-project/issues/59126 Differential Revision: https://reviews.llvm.org/D143624
Diffstat (limited to 'lldb/source/Commands/CommandObjectCommands.cpp')
0 files changed, 0 insertions, 0 deletions