Contributor
Rishi Raj

Bypass assembler when generating LTO object files


Mentors
Martin Jambor, Jan Hubicka
Organization
GNU Compiler Collection (GCC)
Technologies
c, c++, ELF
Topics
gcc, LTO
Link Time Optimization (LTO) enables GCC to dump its internal representation (GIMPLE) to disk so that a single executable can be optimized as a single module. The current implementation creates an assembly file, and the assembler is used to create the final LTO object file. This project aims to create Link-time-optimization (LTO) object files directly from the compiler to improve compile time performance significantly by bypassing the assembler. The GCC's LTO infrastructure has matured enough to compile large real-world applications. Thus, this project will significantly reduce their compile time once completed.