BayLibre at the GNU Tools Cauldron 2025 in Porto
Over 140 attendees interested in the GNU Compiler Collection (GCC), GLIBC, Binutils, GNU Debugger (GDB), and related GNU Toolchain packages gathered for three days in Porto at the end of September 2025, including five toolchain developers from BayLibre. With sixty talks and BoFs in up to four parallel sessions, it was the most packed GNU Tools Cauldron so far!
The attending BayLibrers enjoyed the conference a lot, and would like to thank the Department of Informatics Engineering (DEI) of the Faculty of Engineering (FEUP) of the University of Porto for hosting the conference, the conference organizers, all the sponsors — including BayLibre as one of the GNU Tools Cauldron sponsors.
Comparative Analysis of GCC Codegen for AArch64 and RISC-V
- Slides and video: https://conf.gnu-tools-cauldron.org/opo25/talk/NM7MDT/
In the talk, Paul-Antoine Arras of BayLibre showed the results of exploring possible improvements in GCC code generation for RISC-V. This was done by collecting dynamic instruction counts from selected SPEC CPU 2017 benchmarks and comparing the results with AArch64.
Findings revealed that prominent compiler weaknesses include:
- missing instruction patterns
- extra move instructions
- unused load offsets
- functionally dead code
Additionally, vectorising library functions, like memset and mathematical operations, are crucial for maximising RISC-V efficiency.
Parallel Computing, Offloading, OpenMP and OpenACC
- Talk – slides and video: https://conf.gnu-tools-cauldron.org/opo25/talk/EKDPEH/
- BoF – slides and video: https://conf.gnu-tools-cauldron.org/opo25/talk/CY3BMC/
In the talk, Thomas Schwinge and Tobias Burnus of BayLibre presented the progress, current status, future work, and ideas for features important for (not only) scientific computation.
Highlights and Status Updates:
- AMD GPUs: One of the highlights in GCC 15 is generic architecture support (finally added by AMD to their runtime in April 2025, and already supported in GCC 15). For GCC 16, to be released in spring 2026, support of AMD’s MI300 accelerators is planned, in addition to the usual bug fixes, and performance improvements.
- Nvidia GPUs: The global constructor support added in GCC 15 means not only better support for C++, but also enables device-side Fortran screen output.
- OpenACC support keeps getting extended.
- OpenMP 5.x and 6.0: Several features have already been released as part of GCC 15, such as interop, permitting interoperability with NVIDIA CUDA and AMD HIP libraries (for example, for fast Fourier transform (FFT) or linear algebra routines), loop transformations, dynamic context selectors. Development of additional features is ongoing for GCC 16.
- For OpenMP, full coverage of 5.2 is in sight, several omissions are expected to land soon. Other features are still in early stages of development, such as OMPT (tools) support and, in particular, OMPD (debugging) support.
- Thomas did a live demo of Arijit Kumar Das’ Google Summer of Code (GSoC) project: “Implementation of a simple in-memory file system for running offloading tests on NVIDIA GPUs”, which Thomas had been the mentor for, with help by Tobias.
- Future Ideas (BoF discussion): Amongst other miscellaneous topics, the BoF discussion included a proposal for adding to GCC a low-overhead GPU kernel language, to enable programming at an abstraction level similar to NVIDIA CUDA or AMD HIP language extensions. This also serves as foundational work for support of related new functionality that’s currently in process of standardization in the upcoming OpenMP 6.x and 7.0 specifications.
Toolchain and Linux kernel
- BoF – slides and video: https://conf.gnu-tools-cauldron.org/opo25/talk/SBMUWN/
As part of this BoF, Thomas Schwinge of BayLibre gave a short report of his Kernel Recipes 2025 conference participation the week before. In his KR2025 presentation (“Recipe for baking a GCC: Ingredients and community of the GNU Compiler Collection, 2025”), he had primarily covered history and structure of the GNU Compiler Collection (GCC) project and community, but after that one, a number of related technical discussions also took place, including on Rust programming language support in GCC, and GCC’s support for BPF (eBPF) code generation. In the Cauldron BoF, some of these topics then got discussed in further detail.
For the Cauldron BoF audience, he also repeated the live demo of Piyush Raj’s Google Summer of Code (GSoC) project to develop “tooling for running BPF GCC tests on a live kernel”,which he had helped co-mentor, in collaboration with José E. Marchesi and David Faust of Oracle’s Toolchain/Compilers team.
Quantifying Abstraction Costs in GCC
GCC BOF: Reviewing refactoring goals and acceptable abstractions
- BoF-like Talk – video: https://conf.gnu-tools-cauldron.org/opo25/talk/3PTT7K/
- BoF – video: https://conf.gnu-tools-cauldron.org/opo25/talk/GWSYPJ/
Software benefits from occasional cleanup and refactoring. Not only should the generated code be fast, but building the compiler and compiling user programs should also be fast and avoid excessive memory usage.
Therefore, Waffl3x of BayLibre explored the topic of measuring the GCC performance. This measurement is crucial for detecting regressions and for checking that refactoring work has no unintended effects on compilation speed or memory consumption.
In the BoF part, ways to improve the internal representation in GCC were discussed.
More about the GNU Tools Cauldron
The slides and recordings are available at:
The Cauldron was also covered by LWN:
- Kernel hackers at Cauldron, 2025 edition (October 2, 2025)
- Next steps for BPF support in the GNU toolchain (October 6, 2025)
- Gccrs after libcore (October 9, 2025)
- The FSF considers large language models (October 14, 2025)
