GNU Tools Cauldron 2025

GNU Tools Cauldron 2025

Interprocedural optimization of OpenMP kernels

When compiling OpenMP constructs, the bodies of OpenMP regions are outlined into separate functions, which are later called indirectly by libgomp built-ins. This outlining process disables interprocedural optimizations for the kernels. In this short talk, we outline a mechanism to partially restore interprocedural optimization capabilities for the kernels, starting with constant propagation, and we discuss its applications beyond OpenMP.

The speaker's profile picture
Josef Melcr

I’m a graduate student pursuing my Master’s with a passion for system programming, compilers, and open-source development. Though I’m new to contributing to GCC, I hope to make it a central part of my career one day.