Name
Lightning Talks
Session Type
Lightning Talks
Date & Time
Wednesday, April 16, 2025, 11:00 AM - 12:00 PM
Talk Order
  1. What is LLDB-DAP?
  2. sd-visualiser: Interactive graph visualisation for SSA-based IRs
  3. Beyond Pattern-based Optimization: What Can LLM Reshape Auto-vectorization?
  4. Why add an IR Reader to the llvm-debuginfo-analyzer tool?
  5. To be OR NOT to be
  6. Accidentally quadratic in compiler-rt/asan
  7. Dialects as a Dialect: Bringing native C++ registration to IRDL
  8. Autocheck – Clang-Based Checker for Automotive: Status and Issues
  9. LLDB Statusline
  10. Defining and verifying MLIR operations with constraints
  11. Small Changes, Big Impact: GitHub Workflows for the LLVM Project
Abstract/s

1) What is LLDB-DAP? - Jonas Devlieghere
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.

2) sd-visualiser: Interactive graph visualisation for SSA-based IRs - Alex Rice
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.

3) Beyond Pattern-based Optimization: What Can LLM Reshape Auto-vectorization? - Long Cheng
Our talk, "Beyond Pattern-based Optimization: What Can LLM Reshape Auto-vectorization?", presents a novel LLM-driven framework integrated into LLVM-based compilers. By combining the semantic reasoning capbility of LLM(Deepseek V3) with the precision of traditional LLVM-based compilers, we tackle complex vectorization scenarios which is generally hard to be done for naive LLVM-based compilers. We’ll share results from TSVC-2 HPC and Skia benchmarks, demonstrating significant performance improvements (1.42× to 1.91×) on SVE/Neon for Arm CPUs. Learn how this approach reshapes auto-vectorization and discover future directions for LLM-native compiler optimization.

4) Why add an IR Reader to the llvm-debuginfo-analyzer tool? - Carlos Alberto Enciso
The llvm-debuginfo-analyzer is a tool developed by Sony, as part of the open-source LLVM project. We have added support for the LLVM IR format. This talk will cover the benefits to allow compare IRs at different stages and determine any specific changes.

5) To be OR NOT to be - Piotr Fusik
RISC-V has inverted bitwise operations such as "or not". I will present a few scenarios where they are useful and how I implemented them in LLVM.

6) Accidentally quadratic in compiler-rt/asan - Artem Pianykh
You build your binary with ASan, you run it... and nothing happens for 10 seconds. Without ASan the binary starts instantly. This talk will discuss how a bad asymptotic in the ODR checker's runtime code turned into a practical performance bottleneck, the fix to this problem, and the importance of tight upper bounds.

7) Dialects as a Dialect: Bringing native C++ registration to IRDL - Ivan Ho
IRDL allows to define dialects in MLIR in a declarative and easy to analyse fashion. While this feature set was useful on its own, IRDL-defined dialects were not tightly integrated into MLIR: it was notably impossible to realistically use C++ patterns on them, or use dialect conversion with them. We present how we created a new MLIR tool capable of generating C++ definitions for dialects, just like ODS with TableGen. With our tool, IRDL-defined dialects are now tightly integrated into MLIR and indistinguishable from ODS dialects from a user’s perspective. We also present how we wish to improve the code template rendering tooling in LLVM.

8) Autocheck – Clang-Based Checker for Automotive: Status and Issues - Djordje Todorovic
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.

9) LLDB Statusline - Jonas Devlieghere
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.

10) Defining and verifying MLIR operations with constraints - Alex Rice
This talk describes work in progress on a new constraint-based system for defining MLIR operations, which can be used to declaritively specify complex verification procedures, as well as providing inference of operation fields used when defining custom syntax of MLIR operations.

11) Small Changes, Big Impact: GitHub Workflows for the LLVM Project - David Spickett
LLVM contributors benefit from GitHub workflows every day, but did you know that if you want to write one of your own, all you need is a GitHub account? Find out how to get started, iterate and test, then finally submit your workflow to LLVM where 100s of developers can benefit from it.

Location Name
Pavilion Room