LinuxDays 2019

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Interprodecural optimizations in GCC
2019-10-05 , Room 111
Language: English

Current versions of GCC feature a wide and growing set of inter-procedural optimizations (those that work on more than one function at a time) that include inlining, propagation of many properties of functions and their arguments, removal of unused (parts of) parameters, pure/const detection and even unification of functions that are recognized to have exactly the same semantics. This talk will explain what the main goals of these transformations are, outline how most of them work and show how powerful they get when used as part of Link Time Optimizations (LTO) and with profile feedback.


Difficulty

Intermediate

See also: Slides (286.9 KB)

All authors of this presentation are Toolchain developers at SUSE. Martin Jambor is the author of interprocedural constant propagation and interprocedural "IPA-SRA" pass, Jan Hubička is GCC IPA maintainer and principal architect (among other things), and Martin Liška wrote the IPA-ICF pass and recently managed to make LTO the default optimization method in SUSE Tumbleweed distribution.