LLVM
2013 LLVM Developers’ Meeting: “Developer Toolchain for the PlayStation®4”
updated
llvm.org/devmtg/2025-06
------
Title: The Data Inspection Language: Fast & Simple Expression Evaluation in LLDB
Speakers: Andrei Lebedev
------
Slides: llvm.org/devmtg/2025-06/slides/quick-talk/lebedev-lldb.pdf
-----
LLDB often spends a substantial amount of time evaluating expressions needed for displaying certain debug information in an IDE. Currently, this work must be done by LLDB’s full expression evaluator, a very powerful but somewhat slow and heavyweight mechanism. However, these expressions tend to be small and simple, so most of them could be evaluated much faster. The approach of a fast limited expression evaluator was leveraged in lldb-eval for a limited C++ subset proving that the approach is viable. In this talk we introduce the Data Inspection Language (DIL) – a new LLVM mainline effort based partly on lldb-eval that aims to expand its capabilities, make it more robust and language-agnostic. The goal of DIL is to eventually replace the existing frame variable mechanism in LLDB, permitting it to be used for simple expression evaluation. This new implementation will greatly increase the capabilities of ‘frame variable’, allowing it to quickly and directly evaluate simple expressions, in turn allowing to bypass the full expression evaluator in many common cases.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Understanding Tablegen generated files in LLVM Backend
Speakers: Prerona Chaudhuri
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/chaudhuri-tablegen.pdf
-----
While working with LLVM, one needs to deal with tablegen generated files which are quite tricky to understand, especially for beginners. And its important to understand these files so that one can debug failures for eg: while building a new backend or adding a new feature in the backend. In this short technical talk, I would like to summarize the common and important tablegen generated files that we can encounter in the llvm backend, what is the semantics of the C++ generated code etc.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: LLVM in the Automotive Industry: Bringing Functional Safety to Open Source
Speakers: Wendi Urribarri
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/urribarri-automotive.pdf
-----
This talk explores the importance of functional safety in automotive software and the need to qualify compilers under ISO 26262 to prevent undetected errors. It looks into the challenges of ensuring compilers don’t introduce undetected errors and propose a collaborative, open-source approach to qualifying LLVM. Attendees will gain insights into the qualification process, key challenges, and the benefits of making safety compliance more accessible. Let’s discuss how we can align LLVM with industry standards and enable its broader adoption in safety-critical systems.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Reflection of standard attributes in Clang
Speakers: Aurelien Cassagnes
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/cassagnes-clang.pdf
-----
This talk will discuss the implementation experience when adding “attributes reflection” to Clang, from the perspective of a first time contributor.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Improving LLVM Backend Development with a New TableGen Language Server
Speakers: Shin Ando
------
Slides: llvm.org/devmtg/2025-06/slides/quick-talk/ando-backend.pdf
-----
TableGen is essential for LLVM backend development, but the current development experience leaves much to be desired. This talk presents a new language server tailored for TableGen, with improved performance, stability, and dedicated support for backend development. Through robust parsing, advanced analysis, and a rich set of LSP features, we show how the development experience can be significantly improved.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Fujitsu Compiler Test Suite: New Test Suite for Fortran/C/C++
Speakers: Takahiro Kawashima
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/kawashima-fujitsu.pdf
-----
Fujitsu released Fujitsu Compiler Test Suite github.com/fujitsu/compiler-test-suite, a test suite for Fortran/C/C++ compilers, at the end of 2023. It is used in the Flang CI linaro.atlassian.net/wiki/spaces/FLANGCI/overview, one of unofficial CI (continuous integration) systems in the LLVM community, to detect regressions of LLVM. This talk explains what the Fujitsu Compiler Test Suite and the Flang CI are and how the LLVM community can leverage them.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: ONNX-MLIR: An MLIR-based Compiler for ONNX AI models
Speakers: Tung D. Le
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/le-onnx.pdf
-----
Open Neural Network Exchange (ONNX) is an open standard for representing deep neural networks, and MLIR is emerging as a flexible compiler infrastructure. In this talk, we present a technical report on our open-source compiler, namely ONNX-MLIR, which uses MLIR to compile ONNX models into native code on different architectures e.g., x86, IBM Power, IBM Z. We will discuss the core design of ONNX-MLIR, the optimizations it deploys, and how it supports custom AI accelerators. ONNX-MLIR has been developed since 2019, shortly after MLIR was introduced. Thus, we would also like to discuss some lessons learned when building ONNX-MLIR in parallel with the growth of MLIR compiler infrastructure.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: LLVM's First 25 Years and the Road Ahead
Speakers: Chris Lattner
------
Slides: llvm.org/devmtg/2025-06/slides/keynote/lattner-keynote.pdf
-----
The creator of LLVM, Swift, Clang, MLIR, co-founder and CEO of Modular on the history and future of the LLVM Project.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Nanpanjiang Project: Helping Female Engineers Succeed in Compilers and Tools
Speakers: Ji Qiu
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/qiu-nanpangjiang.pdf
-----
The Nanpanjiang Project, established in 2023 by technology enthusiasts in the HelloLLVM community in mainland China, aims to support female engineers in achieving career goals in compilers and virtual machines. Originating from the first “Women in Compilers and Tools Workshop” (WiCT) by the LLVM Foundation, it offers lectures, tutorials, and mentorship. So far, over 20 seminars have been held, with projections indicating outreach will grow from 200 to 20,000 by 2036, mentorship participants from 20 to 5,000, and active maintainers from 2 to 200. The project will continue to promote gender diversity and contribute to the technology community’s prosperity.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Wanco: WebAssembly AOT Compiler That Supports Live Migration
Speakers: Raiki Tamura
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/tamura-webassembly.pdf
-----
We introduce Wanco, an AOT compiler for WebAssembly that enables migration across platforms, making it ideal for edge computing and IoT devices. Leveraging LLVM, Wanco introduces up to 50% overhead while storing snapshots in a CPU- and OS-independent format, enhancing the portability of WebAssembly programs.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Data-Tiling in IREE: Achieving High Performance Through Compiler Design
Speakers: Han-Chung Wang
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/wang-data-tilling.pdf
-----
This talk explores how IREE, a retargetable MLIR-based compiler for tensor programs, achieves high performance through data-tiling. By rearranging input data into target-specific layouts and utilizing tensor encodings, IREE bridges the gap between host and device. These encodings enable efficient data handling and unlock optimizations like folding, fusion, and propagation, which reduce the cost of relayouting operations. Learn how IREE integrates data-tiling to optimize performance in a compiler context.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Reducing Code Size with Speculative Inlining
Speakers: Vincent Lee
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/lee-inlining.pdf
-----
Inlining has generally been seen as a critical optimization for performance at the cost of size. But, it can also be used for size optimizations in the mobile space. In this talk, we discuss a new inlining technique that explores the full set of inlining candidates to uncover cases where inlining will generate size improvements due to downstream simplifications. It uncovers beneficial inlining that the traditional cost modeling overlooks resulting in non-trivial app size and performance improvements.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: A technology for lifting machine code to high-performance LLVM IR
Speakers: Masashi Yoshimura
------
Slides: llvm.org/devmtg/2025-06/slides/quick-talk/yoshimura-ir.pdf
-----
Introducing a technology for lifting machine code to high-performance LLVM IR. This approach transforms Linux/ELF binaries into executables for various target platforms through ahead-of-time compilation. It converts code sections into LLVM IR using a tool that translates machine instructions into equivalent IR, then applies a sophisticated optimization that leverages virtual registers to enhance performance. In this session, we’ll explore the underlying architecture, key optimization strategies, and discuss future challenges and opportunities for advancing cross-platform binary translation.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Complex Number Division Calculation Methods and Our Work in MLIR
Speakers: Shunsuke Watanabe
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/watanabe-division.pdf
-----
Our investigation revealed that the optimization of loops involving complex number division in Flang performs worse than Gfortran. This performance difference was confirmed in SPEC CPU 2017’s cam4 benchmark. The reason for this is that the current Flang can only lower complex number division to scalar runtime functions (such as “__divdc3”), preventing vectorization and inlining. Therefore, we considered using the MLIR’s complex dialect to compute complex number division. This talk will explain the calculation methods for complex number division and our work in MLIR.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Bolting the Linux kernel with profile instrumentation
Speakers: Wei Wei
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/wei-instrumentation.pdf
-----
This presentation focuses on several enhancements to BOLT for Linux kernel, including support for AArch64, relocation mode and instrumentation. We will talk about the motivations, the challenges, and what we have achieved including early performance results, and further work, with an emphasis on instrumentation.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Safety at Scale: Advancing Safety with hundreds of millions of lines of C++
Speakers: Kinuko Yasuda
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/yasuda-safety.pdf
-----
Memory safety is increasingly recognized as a top priority in the industry, and the adoption of memory-safe languages for new code has become a key common methodology. However, significantly improving the safety of large existing C++ codebases remains a major challenge. In this talk, I will share our recent experience deploying several safety improvements across our C++ codebase at Google. Specifically, I will talk about the deployment of hardened libc++, and explain a series of improvements and extensions we made to Clang’s compile-time pointer lifetime analysis around lifetimebound annotations. By enabling hardened libc++ in all of our products, and adopting the annotations in our key core libraries, we have been able to reduce a significant number of safety violations, and improve the reliability and correctness of our code. I will also touch on ongoing efforts and future work in this area.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: ClangIR’s Footprint: Compile Time Impact
Speakers: Chris Lattner
------
Slides: llvm.org/devmtg/2025-06/slides/quick-talk/lopes-compile-time.pdf
-----
This presentation explores recent measurements of ClangIR’s impact on compile time. It addresses community concerns from the upstreaming RFC about compilation performance while providing updates on ClangIR’s status.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Leverage AArch64 SME/SVE instructions to support clang matrix_type
Speakers: Zheng Chen
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/zheng-matrix.pdf
-----
AArch64 has SME instructions to operate on the ZA register which works great for Clang matrix_type operations. I would like to share what we did in Huawei to leverage AArch64 SME instructions to support fast Clang matrix_type operations.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Toward a Practical Double-Fetch Checker for Clang Static Analyzer: Early Results and Future Directions for OS Security
Speakers: Fumiya Shigemitsu
------
Slides: llvm.org/devmtg/2025-06/slides/lightning-talk/shigemitsu-tiling.pdf
-----
Double-fetch vulnerabilities - a form of TOCTOU (Time-of-Check to Time-of-Use) bugs - pose a significant risk in kernels and embedded systems when user-space memory is accessed multiple times without proper copy semantics. In this talk, we present our newly developed double-fetch checker for the Clang Static Analyzer, which builds on research prototypes (e.g., DFTracker) and uses memory-access provenance, alias relationships, and control-flow analysis to detect repeated reads from user memory. We’ll share how we reduce false positives through tailored heuristics, explore extensions for RTOS-specific environments, and outline future directions aimed at improving kernel and embedded security.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Sanitizing MLIR Programs with Runtime Operation Verification
Speakers: Matthias Springer
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/springer-sanitizing.pdf
-----
Operation verification is a core MLIR feature and a powerful tool for building robust compilers. MLIR verifies all operations between pass boundaries, but only static invariants based on compile-time information can be verified. This talk shows how to additionally verify operations at runtime, ranging from low-level properties such as out-of-bounds accesses into tensors/memrefs to high-level properties such as mismatching tensor shapes on linalg structured operations. This talk will also show how to build a memory leak sanitizer based on runtime operation verification.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Breaking std::vector's ABI for performance gains: A Horror Story
Speakers: Christopher Di Bella
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/di-bella-vector.pdf
-----
This talk chronicles the story of modifying std::vector to directly track its size instead of its allocated buffer, and the associated performance improvements we gained as a result. We’ll also tell the story of applying these changes to libc++ so that it can be upstreamed, and the far more terrifying story of addressing any and all downstream reliance on the previous implementation quirks of vector to see this optimisation deployed internally.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: LLVM vs. GCC on RISC-V Using SPEC CPU Benchmarks: Methods, Gaps, and Optimizations
Speakers: Yongtai Li
------
Slides: llvm.org/devmtg/2025-06/slides/technical-talk/li-risc.pdf
-----
This work details a systematic approach for comparing LLVM and GCC compilers on RISC-V using SPEC CPU 2006 and 2017 benchmarks, with full results disclosed for the 2017 suite. We expose critical performance gaps through code size, dynamic instruction counts (DIC), and vectorization efficiency, while proposing actionable fixes for compiler-specific inefficiencies.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-06
------
Title: Improvements to LoopInterchange to accelerate vectorization
Speakers: Ryotaro Kasuga
------
Slides: llvm.org/devmtg/2025-06/slides/quick-talk/kasuga-loopinterchange.pdf
-----
LoopInterchange is a transform pass that exchanges the order of loops within a nested loop. It accelerates loop vectorization in some cases, especially the vectorization of the innermost loop. This talk is about how LoopInterchange affects vectorization and improvements to LoopInterchange to boost vectorization.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: C++ interoperability with memory-safe languages
Speaker: Gabor Horvath
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/horvath_cplusplus.pdf
-----
As the adoption of memory-safe languages increases and code written in memory-unsafe languages remain widespread, polyglot projects—where multiple languages interact—are becoming more common. This introduces new challenges around ensuring safe, efficient, and ergonomic interoperability between these languages. This talk aims to spark a conversation about how Clang can evolve to better facilitate interoperability with memory-safe languages.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Adopting -fbounds-safety in practice
Speakers: Henrik Olsson, Patryk Stefanski
------
Slides: llvm.org/devmtg/2025-04/slides/tutorial/olsonn-stefaniski_fbounds.pdf
-----
-fbounds-safety is a C extension in Clang for enforcing bounds safety in C, developed and deployed internally at Apple. The implementation is currently in the process of being upstreamed to mainline LLVM, and a preview is now available to try out in a fork of LLVM. While previously outline in a talk at EuroLLVM 2023, this time we will cover the practical details of -fbounds-safety adoption.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: What is LLDB-DAP?
Speaker: Jonas Devlieghere
------
Slides: llvm.org/devmtg/2025-04/slides/lightning_talk/devlieghere_lldb-dap.pdf
-----
lldb-dap is a utility that allows LLDB to work with editors and IDEs that support the Debug Adapter Protocol (DAP), such as Visual Studio Code. It builds on LLDB's stable API and uses a standardized protocol to act as a bridge between LLDB and other developer tools. It is part of the Xcode developer tools and the open source Swift toolchain. It is also the name of the official VS Code extension, which is available in the Marketplace. We'll talk about the Debugger Adapter Protocol, how we support it in LLDB and where the line is between the IDE-agnostic tool and the VSCode extension.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: LLDB Statusline
Speaker: Jonas Devlieghere
------
Slides: llvm.org/devmtg/2025-04/slides/lightning_talk/devlieghere_lldb_statusline.pdf
-----
Motivated by a better place to show progress events and a way to display the current state of the debugger, I extended command-line LLDB with a statusline. This dedicated area at the bottom of the screen shows things like the current target, the stop reason, and progress updates. The statusline can be customized using LLDB's format strings. I'll talk a little bit about the motivation, the implementation, and how to configure it.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: A Recipe for Eliminating Entire Classes of Memory Safety Vulnerabilities in C and C++
Speaker: Devin Coughlin
------
Slides: llvm.org/devmtg/2025-04/slides/keynote/coughlin_memory.pdf
-----
This talk describes a "recipe" for developing compiler-backed secure programming models that eliminate entire classes of memory-safety security vulnerabilities in C-based languages. We will explain how we used this recipe to design Clang's -fbounds-safety language extension, Clang's - Wunsafe-buffer-usage programming model and the Clang Static Analyzer's WebKit smart pointer checks. We will also describe the need for new Clang-based static analysis infrastructure to enable faster, lower-developer-cost adoption of these programming models.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Integrating XRay into the HPC Tool Ecosystem
Speaker: Sebastian Kreutzer
------
Slides: llvm.org/devmtg/2025-04/slides/student_technical_talk/kreutzer_integrating_xray.pdf
-----
XRay, Clang's dynamic function tracing system, offers runtime-adaptable instrumentation with minimal overhead. However, its adoption in HPC has been limited due to missing support for shared libraries (DSOs) and insufficient integration with parallel programming models like MPI and OpenMP. This talk presents our efforts to bridge these gaps, including our recently upstreamed extension for DSO instrumentation and the integration of XRay into established performance tools such as Score-P, TALP, and Extrae. Additionally, we present ideas for future work to enhance XRay's filtering mechanisms and instrumentation flexibility.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Clang Static Analyzer: Supporting Multithreaded Code
Speaker: Isaac Nudelman
------
Slides: llvm.org/devmtg/2025-04/slides/student_technical_talk/nudelman_clang_static.pdf
-----
Writing multithreaded code is notoriously difficult. Compounding this, static analysis is not particularly effective, as most analyzers (including Clang) are limited to evaluating a single thread of symbolic execution. This talk will describe changes to the Clang Static Analyzer to support analysis across threads, the challenges with the implementation, and the resulting improvement in analysis quality for multithreaded codebases. In particular, we will show multiple bugs that can now be detected using static analysis.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Instruction Cache Prefetching
Speaker: Oriel Avraham
------
Slides: llvm.org/devmtg/2025-04/slides/quick_talk/avraham_prefetching.pdf
-----
This talk explores the addition of a lightweight, non-blocking instruction cache prefetching mechanism tailored for simple hardware architectures without built-in I$ optimization components. We will discuss how the LLVM framework can be used to identify strategical points for prefetch insertion through static analysis
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Accurate Runtime Performance Estimation for Predictably Training ML Guided Register Eviction Policies
Speaker: Aiden Grossman
------
Slides: llvm.org/devmtg/2025-04/slides/quick_talk/grossman_accurate_runtime.pdf
-----
Within this talk, we describe how we trained a machine-learned register allocation heuristic using a new trace-based runtime estimation methodology. We outline how our new performance estimation system works, our overall training process, and our results, where we were able to achieve performance gains of around 1% on some server binaries.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: The New Premerge System
Speaker: Aiden Grossman
------
Slides: llvm.org/devmtg/2025-04/slides/quick_talk/grossman_premerge_system.pdf
-----
Here we talk through the redesigned premerge system. We show a demo of the system in action from the contributor perspective, talk through the public analytics to understand system performance and reliability, explain the SLO and on-call process, provide a technical overview of the system, and answer any questions the audience might have.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Bridging LLVM and SPIR-V for Heterogeneous Computing
Speakers: Vyacheslav Levytskyy, Michal Paszkowski
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/levytskyy_bridging.pdf
-----
This presentation showcases the key changes to the SPIR-V backend that have solidified its position as a robust, vendor-agnostic alternative to the Khronos LLVM/SPIR-V Translator. We explore recent feature enhancements, translation time optimizations, and quality assurance processes that enabled seamless integration with other projects for heterogeneous computing workflows, including GPU programming for neural networks. Emphasis is placed on bridging the requirements of the SPIR-V standard, relevant execution environment specifications, and LLVM's code-lowering infrastructure. Key topics include technical solutions for the SPIR-V type system, module vs. function scope handling, and managing the logical layout of modules—factors essential to both performance and maintainability. We also discuss our use of TableGen-based register classes, improvements to type deduction passes, and how these strategies ensure formal correctness while expanding support for SPIR-V extensions, built-ins, and intrinsics. Finally, the talk covers insights into introducing the backend into the DPC++ compiler and OpenAI Triton backend for Intel GPUs, along with details on the broader quality assurance and integration efforts that benefit both compute-centric and graphical use cases alike.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: berlin: symbol lookup error: libeurollvm.so.2025: undefined symbol: _Z11abiBreakingChange
Speaker: Domján Dániel
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/daniel_lookup.pdf
-----
A lightweight talk presenting a Clang Tool that detects binary compatibility breaking changes in C++ libraries. Edit: the title is a valid error message produced by such a change
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Updates - LLVM Foundation Board of Directors
Speaker: Tanya Lattner
-----
Updates from the LLVM Foundation Board of Directors
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Leveraging "nsw" in Flang's LLVM IR Generation for Vectorization
Speaker: Yusuke Minato
------
Slides: llvm.org/devmtg/2025-04/slides/quick_talk/minato_nsw.pdf
-----
Flang is the Fortran frontend in the LLVM project. Its quality and performance have been improving, so that its driver has been renamed from "flang-new" to "flang" since LLVM 20. With respect to optimizations, loop vectorization plays an important role because it can reduce the number of operations in a loop by half or more. This talk focuses on Flang's capability of vectorization in the backend and our work on "nsw" to improve the capability. As a result of our work, loop vectorization for Fortran has been enhanced by introducing several options related to integer overflow into Flang.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: LLDB support for Propeller optimized code
Speaker: Pavel Labath
------
Slides: llvm.org/devmtg/2025-04/slides/quick_talk/labath_propeller.pdf
-----
Propeller optimization boosts binary performance by up to 20%, but creates challenges for LLDB due to non-continuous functions. This talk unveils how LLDB was adapted to handle these complexities and explains how to avoid common pitfalls when writing new LLDB code.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Pass Plugins: Past, Present and Future
Speaker: Stefan Gränitz
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/graenitz_pass_plugins.pdf
-----
LLVM has been driving the diversification of compiler-based tools successfully for many years. And we still keep implementing everything in the monorepo upstream. This pulls more and more domain- specific features into general purpose toolchains. The advent of the RealtimeSanitizer in Clang 20 illustrates this very well. Pass plugins allow 3rd-party additions in both, LLVM and MLIR already without further bloat in our codebase. But so far their capabilities are limited. This talk will give an overview of the history and present state of pass plugins. Based on that it proposes an initial set of changes that would allow domain-specific extensions to utilize the plugin interface for sanitizer-like tasks. It's meant as a kick-off to bring interested parties to a round table and discuss how a version 2 of the plugin interface could look like.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Bringing NVIDIA Blackwell support to LLVM and MLIR
Speakers: Guray Ozen, Durgadoss Ramanathan, Pradeep Kumar
------
Slides: Full URL To slide deck
-----
NVIDIA's latest Blackwell architecture packs a great deal of new features for Generative AI and accelerated computing towards Tensor Compute. Platform support for these features is being actively added in upstream LLVM and MLIR projects. This comes in various forms mainly in the form of intrinsics, newer type additions to the APFloat subsystem, as well as exposing them in the NVGPU/NVVM dialects of MLIR. In the first-part of the talk, we will discuss the challenges we faced in modelling these features as intrinsics, evaluated alternatives, as well as the lessons learnt in implementing them in the NVPTX backend as well as in the NVVM Dialect. The second-part of the talk aims to provide a hands-on tutorial on writing sample kernels using NVDSL in python.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Debugging Regressions: Interactive Differential Debugging
Speakes: Vipul Cariappa, Martin Vassilev
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/cariappa_debugging.pdf
-----
Software systems have become increasingly complex, with millions of lines of code developed by large teams, making debugging challenging. Differential debugging, which compares a system's current version to a previous one, helps isolate regressions, but current methods lack integration between the two versions being debugged. The presentation introduces Interactive Differential Debugging (IDD), a tool that improves this process by automating the identification of irrelevant execution paths and providing tools for comparing execution states between two versions. IDD integrates with LLDB, offering a streamlined way to detect functional or performance regressions.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Pattern Matching, Transform and Code Replacement using LLVM's Polly library
Speaker: Benedikt Huber
------
Slides: llvm.org/devmtg/2025-04/slides/student_technical_talk/huber_pattern_matching.pdf
-----
Multidimensional Match, Transform and Replace (MMTR), is an extension to LLVM's Polly library, capable of matching, transforming and replacing nested loops using the polyhedral model. According to a user defined, target specific pattern, MMTR identifies nested loops that are semantically equivalent to an optimized target implementation. On a successful match, it transforms the nested loop in such a way that it can be replaced by a call to this optimized target implementation.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Autocheck – Clang-Based Checker for Automotive: Status and Issues
Speaker: Djordje Todorovic
------
Slides: llvm.org/devmtg/2025-04/slides/lightning_talk/todorovic_autocheck.pdf
-----
Autocheck is a clang-based source code analysis tool designed to enforce compliance with the automotive standards, ensuring that critical automotive software adheres to strict safety and quality guidelines. In this talk, I will present the current status of Autocheck, discussing its implementation using the clang API, the challenges we have encountered—particularly around open-sourcing due to licensing and approval hurdles—and our roadmap for supporting both the current and new versions of the automotive standards, usage of AI, and more.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
Title: Devise Loop Distribution with Scalar Expansion for Enhancing Auto-Vectorization in LLVM
Speakers: Hung-Ming Lai, Jenq-Kuen Lee
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/lai_loop_distribution.pdf
-----
In this work, we present a novel approach that integrates Data Dependence Graph (DDG) and Scalar Expansion techniques into LLVM's LoopDistribute pass to enhance auto-vectorization optimization. We identify key limitations in the current LoopDistribution pass and devise a DDG-based partitioning algorithm with scalar expansion technique to enable more precise loop distribution and better vectorization opportunities. The talks will cover both the algorithm for the proposed method and a compile-time regression report for our initial implementation on benchmarks.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: LLVM IR -- Past, Present and Future
Speaker: Nikita Popov
------
Slides: llvm.org/devmtg/2025-04/slides/technical_talk/popov_llvm_ir.pdf
-----
LLVM IR (intermediate representation) is the foundation that LLVM is built on. It has stood the test of time, with many fundamentals remaining unchanged since its inception. At the same time, LLVM IR is continuously evolving to enable new optimizations and keep up with changing requirements. This talk will cover some high-level design considerations, past changes to IR design, as well as changes planned for the future.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Deep Dive into the MLIR to LLVM IR Translation Mechanism
Speaker: Alex Zinenko
------
Slides: llvm.org/devmtg/2025-04/slides/keynote/zinenko_deep_dive.pdf
-----
MLIR is now an inherent part of the LLVM compiler infrastructure, but what connects the two representations? In theory, the conceptual similarity of the core representation. In practice, a highly important, yet often overlooked, module translation subsystem. This talk will present the multi- dialect translation mechanism available in MLIR to target LLVM IR, explain how to use it for a custom dialect, and argue why it may not always be the best idea. It will also discuss interoperability between MLIR and LLVM IR functions, including ABI for built-in types and calling conventions.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: MLIR Tensor Compiler Charter Update
Speaker: Rolf Morel
------
Slides: llvm.org/devmtg/2025-04/slides/quick_talk/morel_mlir_tensor.pdf
-----
This will be an update on the current efforts to consolidate the MLIR charter via the recently formed design group. In the two months before EuroLLVM, we'll collect rationale, design and implementation documents, review contents and propose changes and reach a state where we'll be in a position to start making more assertive suggestions based on the community's feedback on current progress. This effort will continue upstream, in the open, but we recognize that the volume and intensity of discussions can be daunting, so we plan to present a summary of the current state and potential futures, which will lead into a round table for discussions, and follow-up forum threads to finally reach back the rest of the community.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: Defining and verifying MLIR operations with constraints
Speaker: Alex Rice
------
Slides: llvm.org/devmtg/2025-04/slides/lightning_talk/rice_constraints.pdf
-----
This talk describes work in progress on a new constraint-based system for defining MLIR operations, which can be used to declaritely specify complex verification procedures, as well as providing inference of operation fields used when defining custom syntax of MLIR operations.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: How to Write a Scalable Compiler for an Error-Prone Quantum Computer
Speaker: Kim Worrall
------
Slides: llvm.org/devmtg/2025-04/slides/student_technical_talk/worrall_quantum.pdf
-----
Quantum computers have a problem - they are susceptible to errors which can destroy the entire computation. Error correction will make quantum computers feasible, but the architecture and software needed is multi-level, distributed, data intensive, time critical, and crucially not yet integrated into a compilation pipeline. This talk presents our effort to bring together the disparate parts of the quantum ecosystem into an error-correction aware, MLIR compatible framework. In particular, we emphasise how lessons from the MLIR and LLVM community are crucial to the frameworks development, and invite the audience to get involved with quantum computing.
-----
Videos Edited by Bash Films: http://www.BashFilms.com
llvm.org/devmtg/2025-04
------
Title: sd-visualiser: Interactive graph visualisation for SSA-based IRs
Speaker: Alex Rice
------
Slides: llvm.org/devmtg/2025-04/slides/lightning_talk/rice_sd-visualiser.pdf
-----
We present "sd-visualiser", an interactive graph visualisation program. It is specialised for drawing constructions common in LLVM and MLIR, such as regions, blocks, nodes with multiple ordered inputs and outputs, and SSA-values with multiple uses. We will demo the tool, and show off some of its interactive features.
-----
Videos Edited by Bash Films: http://www.BashFilms.com


