Inlining is a crucial compiler optimization that eliminates the cost of abstraction. It exposes additional opportunities for inter-procedure optimization compared to no inlining, allowing these optimizations to extend beyond function boundaries. However, excessive inlining can lead to significant drawbacks. Too much inlining results in bloated code size, making compilation slow and producing large binaries.
We propose a novel approach to perform smart inlining. This method reliably inlines parts based on function splitting, leading to further reductions and minimizing unnecessary code duplication.
Smart Inlining through Function Splitting (pldi25src-yang.pdf) | 456KiB |