NOTE: The event will be held in Central Daylight Time (CDT), UTC -5.

View More Details for Open Source Summit + Embedded Linux Conference North America 2020
Registration Information.
Back To Schedule
Wednesday, July 1 • 11:15am - 12:05pm
Code Size Compiler Optimizations and Techniques for Embedded Systems - Aditya Kumar, Facebook

Sign up or log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Code size of embedded application has been a concern for a very long time. While storage becomes cheaper and smaller, developers find creative ways to increase code size by adding features or unnecessary software engineering. Compilers have come a long way in optimizing applications for code size. While most compiler optimization work were focused on application performance, we have seen increase in the code size optimizations in recent years.

In this presentation I'll talk about classical as well as recent compiler optimizations for code size, a few of which I implemented in the LLVM compiler. Some optimizations (hot cold splitting, function entry instrumentation) require collecting data from the field while the application is running. I'll provide an overview of how those compiler techniques help reduce code size. I'll also talk about some tips and techniques (compiler flags to reduce code size, tuning of compiler options like inline threshold), that help reduce binary size. Having knowledge of the code generated by the compiler and the instruction set architecture can help engineers chose appropriate programming abstractions and idioms. I'll talk about both gcc and LLVM.

avatar for Aditya Kumar

Aditya Kumar

Software Engineer, Facebook
Aditya Kumar is a senior software engineer at Facebook and Distinguished speaker at ACM. He has been working on compiler toolchains (LLVM,Clang and GCC) since 2012. He has contributed optimizations like GVNHoist, Hot Cold Splitting, Hexagon specific optimizations to the LLVM compiler... Read More →

Wednesday July 1, 2020 11:15am - 12:05pm CDT
Linux Systems Theater