(WIP) Scalable Size Inliner for Mobile Applications
Tue 14 Jun 2022 23:50 - 23:55 at Rousseau Center - Optimization for Compilers and Languages Chair(s): Yousun Ko
Inlining is critical for both performance and size in mobile apps. When building large mobile apps, ThinLTO, a scalable link-time optimization is imperative in order to achieve both optimal size and build scalability. However, inlining with ThinLTO is not tuned to reduce the code size because each module inliner works independently without modeling the size cost across modules, and functions are often not eligible to import due to private references, appearing in Objective-C or Swift for iOS. This paper extends the bitcode summary to perform a global inlining analysis to find inline candidates for saving the code size. Using this summary information, a pre-inliner eagerly inlines the candidates that are proven to shrink the size. When the inline candidates are not eligible to import, a pre-merger combines their bitcode modules to remove inline restrictions. Our work improves the size of real-world mobile apps when compared to the \textit{MinSize} (\textit{-Oz}) optimization level. We reduced the code size by $2.8%$ for SocialApp and $4.0%$ for ChatApp.
Tue 14 JunDisplayed time zone: Pacific Time (US & Canada) change
10:30 - 12:00 | Optimization for Compilers and LanguagesLCTES at Rousseau Center +12h Chair(s): Yousun Ko Yonsei University | ||
10:30 20mTalk | RollBin: Reducing code-size via loop rerolling at binary levelVirtual LCTES Tianao Ge Sun Yat-sen University, Zewei Mo Sun Yat-sen University, Kan Wu Sun Yat-sen University, Xianwei Zhang Sun Yat-sen University, Yutong Lu Sun Yat-sen University | ||
10:50 20mTalk | Tighten Rust's Belt: Shrinking Embedded Rust Binaries LCTES Hudson Ayers Stanford University, Google, Evan Laufer Stanford University, Paul Mure Stanford University, Jaehyeon Park Stanford University, Eduardo Rodelo Stanford University, Thea Rossman Stanford University, Andrey Pronin Google, Philip Levis Stanford University, Johnathan Van Why Google | ||
11:10 20mTalk | JAX Based Parallel Inference for Reactive Probabilistic Programming LCTES | ||
11:30 20mTalk | Implicit State MachinesVirtual LCTES | ||
11:50 5mTalk | (WIP) Scalable Size Inliner for Mobile Applications LCTES |
22:30 - 00:00 | Optimization for Compilers and LanguagesLCTES at Rousseau Center Chair(s): Yousun Ko Yonsei University | ||
22:30 20mTalk | RollBin: Reducing code-size via loop rerolling at binary levelVirtual LCTES Tianao Ge Sun Yat-sen University, Zewei Mo Sun Yat-sen University, Kan Wu Sun Yat-sen University, Xianwei Zhang Sun Yat-sen University, Yutong Lu Sun Yat-sen University | ||
22:50 20mTalk | Tighten Rust's Belt: Shrinking Embedded Rust Binaries LCTES Hudson Ayers Stanford University, Google, Evan Laufer Stanford University, Paul Mure Stanford University, Jaehyeon Park Stanford University, Eduardo Rodelo Stanford University, Thea Rossman Stanford University, Andrey Pronin Google, Philip Levis Stanford University, Johnathan Van Why Google | ||
23:10 20mTalk | JAX Based Parallel Inference for Reactive Probabilistic Programming LCTES | ||
23:30 20mTalk | Implicit State MachinesVirtual LCTES | ||
23:50 5mTalk | (WIP) Scalable Size Inliner for Mobile Applications LCTES |