2026 EuroLLVM - Creating a runtime using the LLVM_ENABLE_RUNTIMES system

2026 EuroLLVM Developers' Meeting https://llvm.org/devmtg/2026-04/ ------ Title: Creating a runtime using the LLVM_ENABLE_RUNTIMES system Speaker: Michael Kruse ------ Slides: https://llvm.org/devmtg/2026-04/slide... ----- Few will need to create a new runtime library for LLVM, and it is not actually the goal of this tutorial. We intend to illustrate the inner workings and conventions of the LLVM build system. Currently, our runtimes (compiler-rt, libc++, openmp, ...) build code is still mostly based on the patterns from when each runtime had its own SVN repository, had to be able to be built independently, and therefore all runtimes implement their own boilerplate. Eventually, they should converge instead of each runtime introducing their own solutions to their build problems. In addition to an introduction to the history of the LLVM_ENABLE_RUNTIMES system and its rationale, we create a template runtime from scratch covering: registering with the LLVM build system, building library artifacts, build modes, CMake cache files, installation, shared and static libraries, regression testing, unittests, Sphinx and Doxygen docs, cross-compilation, accelerator offloading, and depending on other LLVM libraries. ----- Videos Edited by Bash Films: http://www.BashFilms.com