2023 US LLVM Dev Mtg Progam

I am pleased to announce the 2023 LLVM Developers’ Meeting Program for October 11-12th in Santa Clara, CA!

We have some amazing keynotes, talks, community track talks, tutorials, quick, lightning, and student talks. This may be our best program yet! Be sure to register for the early bird discount by Sept 10th.


  • A Technical Guide to Compassion in Open Source - April Wensel
  • Mojo :fire:: A system programming language for heterogenous computing - Jeff Niu, Abdul Dakkak, Chris Lattner


  • (Correctly) Extending Dominance to MLIR Regions - Siddharth Bhat, Jeff Niu
  • LLVM-MCA correlation for AArch64 - Ricardo Jesus, Sjoerd Meijer
  • Deegen: A LLVM-based Compiler-Compiler for Dynamic Languages - Haoran Xu
  • Compact Value Witnesses in Swift - Dario Rexin
  • Optimizing Debug Info for Caching in llvm-cas - Shubham Rastogi
  • -Wunsafe-buffer-usage: A Clang warning to adopt a bounds-safe programming model in C++ - Artem Dergachev
  • Vectorisation in MLIR: Towards Scalable Vectors and Matrices - Andrzej Warzyński, Diego Caballero, Nicolas Vasilache
  • Generalized Mem2Reg for MLIR and how to use it - Théo Degioanni
  • Design and implementation of C++20 Ranges in libc++ - Konstantin Varlamov
  • Improving Vectorization of Select Reduction - Mel Chen, Kolya Panchenko
  • The LLVM C Library for GPUs - Joseph Huber
  • MLIR Is Not an ML Compiler, and Other Common Misconceptions - Alex Zinenko
  • LLVM Test Suite under the hood - Omair Javaid
  • Introducing hardened modes in libc++ - Louis Dionne
  • LLVM-based Compilers for Quantum Computing - Kit Barton
  • Large scale deployment of libTooling derived tools - Vaibhav Yenamandra, Konstantin Romanov
  • LLVM Toolchain for Embedded Systems- Prabhu Karthikeyan Rajasekaran
  • Using Clang’s source-based code coverage at scale - Gulfem, Savrun Yeniceri, Petr Hosek
  • Leveraging LLVM to Optimize for Branchless Targets - Dorit Nuzman, Ayal Zaks
  • An SMT dialect for assigning semantics to MLIR dialects - Mathieu Fehr, Yuyou Fan
  • VPlan: Status Update and Future Roadmap - Florian Hahn, Ayal Zaks
  • Unlocking the Power of C++ as a Service: Uniting Python’s Usability with C++'s Performance - Vassil Vassilev
  • Evolution of ClangIR: A Year of Progress, Challenges, and Future Plans - Bruno Cardoso Lopes, Hongtao Yu, Nathan Lanza, Vinicius Couto
  • Vector codegen in the RISC-V backend - Luke Lau
  • Automatic program reoptimization support in LLVM ORC JIT - Sunho Kim, Vassil Vassilev
  • Improved noexcept: exception handling in LLVM IR - James Y Knight
  • Arcilator: Fast and cycle-accurate hardware simulation in CIRCT - Martin Erhart
  • A Python based Domain Specific Language framework for MLIR compilers and beyond. - Prashantha N R
  • Building & Standardizing an Ecosystem for Encrypted Computation with MLIR - Alexander Viand, Jeremy Kun
  • Improving the Efficiency and Correctness of Implicit Modules - Connor Sughrue

Community Track Talks

  • A Proposal for Technical Governance - Chris Bieneman
  • Finding the order within CHAOSS - Ildikó Váncsa
  • LLVM Foundation Updates
  • Code of Conduct Committee Updates


  • A Tour of ADT – the LLVM Developer’s Toolbox - Jakub Kuderski
  • How to add an C intrinsic and code-gen it, using the RISC-V vector C intrinsics as an example - Eop Chen, Kito Cheng
  • Starting LLVM Development in Visual Studio on Windows - Jonathan Smith
  • Understanding the LLVM build - Petr Hosek
  • How to build an LLVM-based toolchain for the Game Boy Advance - Ties Stuij
  • MLIR Bufferization: From Tensors to MemRefs - Matthias Springer, Martin Erhart

Quick Talks

  • Common facilities for ML-Guided Optimizations in LLVM - Mircea Trofin
  • Seamless debugging of emulated applications with LLDB - Pavel Labath
  • Debug info for concurrency in LLVM - Adrian Prantl
  • Caching Explicit Clang Modules with Content-Addressable Storage - Ben Langmuir
  • Compiler backend design with MLIR - Sasha Lopoukhine, Anton Lydike
  • MLIR Dialect for GraphBLAS - Sriram Aananthakrishnan
  • EmitC - Recent Improvements and Future Development - Marius Brehler
  • Profiling Based Global Machine Outlining - Gai Liu
  • Compromises with linking large x86-64 binaries - Arthur Eubanks
  • Novel Data Layout Optimizations in BiSheng Compiler - Ehsan Amiri, Henry Kao
  • Precision and Performance Analysis of LLVM’s C Standard Math Library on GPUs - Anton Rydahl, Johannes Doerfert, Ethan Luis McDonough
  • TableGen Formatter: Extending Clang-Format Capabilities - Venkat Nikhil Tatavarthy, Himanshu Shishir Shah
  • Deriving pointer types from opaque pointers - Joshua Cranmer
  • APX & AVX10: The next major evolution of Intel® architecture - Shengchen Kan, Sergey Maslov
  • An MPI Dialect for MLIR - Anton Lydike
  • jax.infer: Inference with OpenMP on Commodity Hardware- Ludger Paehler, Alex Zinenko, Jose M Monsalve Diaz, Martin Eppert, Johannes Doerfert, William Moses
  • MLIR Side Effect Modelling - Siddharth Bhat, Jeff Niu
  • JIT Updates - Lang Hames

Lightning Talks

  • Intel Quantum SDK: An Open-Source Quantum Compiler Using the LLVM Framework - Xin-Chuan (Ryan) Wu
  • Match me if you can - Zijun Zhao
  • Using llvm-exegesis to benchmark memory-accessing straightline assembly - Aiden Grossman
  • Steps to clean and validate order files - Sharjeel Khan, Aditya K
  • Optional, Expected, Error, Oh My! - Paul Robinson
  • LLVM-CM: Lightning Talk - Dayann D’almeida
  • Improving clangd document open time with preamble caching - Dmitry Polukhin, Ivan Murashko, Kugan Vivekanandarajah, Alper Yoney
  • Sanitizers’ Blind Spots: Invisible Undefined Behaviors - Shaohua Li
  • In-IR optimizer utility testing - Nate Chandler
  • Optimizing Scudo’s Secondary Allocator Cache Strategy - Fernando Salas, Christopher Ferris, Chia-hung Duan
  • LLVM Multicall Driver: Statically linked toolchain with dynamically linked size - Alex Brachet

Student Technical Talks

  • Code-Completion in Clang-Repl - Fred Fu
  • Leveraging MLIR for Loop Vectorization and GPU Porting of FFT Libraries - Yifei He
  • TDG discovery and compile-time optimizations of OpenMP Tasks - Rafael Andres, Herrera Guaitero, Jose M Monsalve Diaz
  • Quick explanation of the LLVM’s OpenMP Task runtime and the new record and replay feature - Rémy Pierre Gwenaël Neveu, Rafael Andres Herrera Guaitero, Adrian Munera, Rodrigo Ceccato
  • Driving MLIR compilation from Python - Martin Lücke, Matthias Springer, Alex Zinenko
  • OpenMP Kernel Language Extensions for Performance Portable GPU Codes - Shilei Tian, Johannes Doerfert
  • Profiling the Profiler: New metrics to evaluate and improve profile guided optimization - Micah Weston
  • Optimization of CUDA GPU Kernels and Translation to AMDGPU in Polygeist/MLIR - Ivan Ivanov, Alex Zinenko, William Moses

Some Thanks

Thank you to everyone who submitted a submission! We understand and appreciate the time and effort it can take.

A huge thank you to the program committee chair - Vassil Vassilev! :pray:

I would also like to thank the program committee for their hard work in reviewing the submissions! :clap: :clap:
Diana Picus
Florian Hahn
Jonas Devlieghere
Meghana Gupta
Rashmi Mudduluru
Ties Stuij
Neil Hickey
Alexey Bataev
Paulo Matos
Alexey Bader
Marius Brehler
Hans Wennborg
Paul Kirth
Petr Hosek
Mircea Trofin
Andrey Bokhanko
Michal Paszkowski
Justin Bogner
Mehdi Amini
Min-Yih Hsu
Anupama Chandrasekhar