Interesting talk exploring bottom-up vs greedy inlining in LLVM: http://t.co/KwG0bhkZP5 (GCC uses greedy inlining to great effect)
miniblog.
Related Posts
Go has a wonderful, accessible discussion of how it does inlining today, the downsides, and the plans for 1.22:
On the nuances of Rust inlining, crate boundaries, and what gets inlined by default: https://matklad.github.io/2021/07/09/inline-in-rust.html
It's well known that certain compiler optimisations matter way more than others (e.g. inlining).
Is there a similar principle for linters? I find red squiggles under unused/undefined variables the single most useful check.