The LLVM Project Blog

LLVM Project News and Details from the Trenches

The 2023 EuroLLVM Developers' Meeting Program

2023 EuroLLVM Developers' Meeting

The LLVM Foundation is excited to announce the 2023 EuroLLVM Developers' Meeting program! Early bird registration ends April 10th.


  • Order out of Chaos, The LLVM Release Process. - Tobias Hieta
  • “-fbounds-safety”: Enforcing bounds safety for production C code - Yeoul Na

Technical Talks:

  • An example of data flow analysis in MLIR - Tom Eccles
  • MLIR-based offline memory planning and other graph-level optimizations for - Deepak Panickal
  • A Rusty CHERI: The path to hardware capabilities in Rust - Lewis Revill
  • Extending the AArch32 JITLink backend - Stefan Gränitz
  • Using MLIR to Optimize Basic Linear Algebraic Subprograms - Steven Varoumas
  • Buddy Compiler: An MLIR-based Compilation Framework for Deep Learning Co-design - Hongbin Zhang
  • MachineScheduler - fine grain resource allocation using resource intervals. - Francesco Petrogalli
  • Inliner in MLIR - Javed Absar
  • How to use llvm-debuginfo-analyzer tool. - Carlos Alberto Enciso
  • Practical Global Merge Function with ThinLTO - Kyungwoo Lee
  • Prototyping MLIR in Python - Sasha Lopoukhine, Mathieu Fehr
  • Extensible and Composable Dataflow Analysis in MLIR - Jeff Niu
  • What would it take to remove debug intrinsics? - Jeremy Morse
  • Compiling Ruby (with MLIR) - Alex Denisov
  • What’s new in MLIR? - Mehdi Amini
  • Structured Bindings and How to Analyze Them - Domján Dániel
  • MLIR Dialect Design and Composition for Front-End Compilers - Jeff Niu
  • ML-LLVM-Tools: Towards Seamless Integration of Machine Learning in Compiler Optimizations - S. VenkataKeerthy, Siddharth Jain, Umesh Kalvakuntla
  • Optimizing the Linux Kernel with LLVM BOLT - Maksim Panchenko
  • mlir-meminfo : A Memory Model for MLIR - Kunwar Grover,Arjun Pitchanathan


  • Developing BOLT pass - Amir Ayupov
  • A whirlwind tour of the LLVM optimizer - Nikita Popov
  • Tutorial: Controllable Transformations in MLIR - Alex Zinenko
  • GlobalISel by example - Alex Bradbury

Quick Talks:

  • Iterative Compilation - Give the compiler a second chance - Ziv Ben Zion
  • Another level of indirection - Compiler Fallback of load/store into gather/scatter enhance compiler robustness by overcoming analysis and hardware limitations - Omer Aviram
  • Switch per function in LLVM - Tomer Nissim Schneider
  • Tensor Evolution - An ML Graph Optimization Technique - Javed Absar,Muthu Baskaran
  • ML-on-CPU: should vectorization happen in the LLVM backend or higher up the stack? - Elen Kalda
  • CORE-V LLVM: Adding eight vendor extensions to standard RISC-V LLVM - Charlie Keaney,Chunyu Liao (廖春玉),Lewis Revill
  • Advanced Bug Reports: Choose Your Own Adventure - Arseniy Zaostrovnykh
  • Multiple-Entry, Multiple-Exit MLIR Regions - Jeff Niu
  • Target-Independent Integer Arithmetic - Jeff Niu
  • Improving Vectorization for Loops with Control Flow - Ashutosh Nema
  • How to run the LLVM-Test Suite on GPUs and what you’ll find - Johannes Doerfert
  • OpenMP as GPU Kernel Language - Johannes Doerfert

Lightning Talks:

  • LLVM IR as an Embedded Domain-Specific Language - Nikita Baksalyar
  • Using MLIR for Dalvik Bytecode Analysis - Eduardo Blázquez
  • High school student’s experience with Clang - Yubo Hui
  • Spot the Difference with LLVM-FLOW: an open-source interactive visualization tool for comparing IR CFGs - Jinmyoung Lee
  • Leveraging MLIR for Better SYCL Compilation - Victor Lomüller
  • Arm/AArch64 Embedded Development with LLD : What’s New - Amilendra Kodithuwakku
  • Using automated tests to tune the -Og pipeline - Stephen Livermore-Tozer
  • Buddy-CAAS: Compiler As A Service for MLIR - Hongbin Zhang
  • llvm-buildmark - observations, tips, and tricks on reducing LLVM build times - Alex Bradbury
  • Lock Coarsening optimizations for loops in Java - Anna Thomas

Student Technical Talks

  • Cost Modelling for Register Allocation and Beyond - Aiden Grossman
  • A Template-Based Code Generation Approach for MLIR - Florian Drescher
  • MLIR Query Tool for easier exploration of the IR - Devajith Valaparambil Sreeramaswamy
  • mlirSynth: Synthesis of Domain-Specific Programs in MLIR - Alexander Brauckmann
  • Image Processing Ops as first class citizens in MLIR: write once, vectorise everywhere! - Prathamesh Tagore,Hongbin Zhang
  • Using the Clang data-flow framework for null-pointer analysis - Viktor Cseh
  • Fast and Vectorized Pivot Function for MLIR Presburger Library - Qi
  • RISC-V Vector Extension Support in MLIR: Motivation, Abstraction, and Application - Hongbin Zhang


  • Automatic Translation of C++ to Rust - Henrique Preto
  • A sustainable approach to have vector predication in the Loop Vectorizer - Lorenzo Albano
  • Performance Analysis of Undefined Behavior Optimizations - Lucian Popescu
  • Static Analysis for C++ Rust-Like Lifetime Annotations - Susana Monteiro
  • Leveraging MLIR for Better SYCL Compilation - Victor Lomüller
  • Forcefully Embedding MLIR into Python - George Mitenkov

We would also like to thank the program committee:

Kristof Beyls (Chair), Alex Bradbury, Alex Denisov, Anupama Chandrasekhar, David Spickett, Florian Hahn, Gabor Horvath,Hans Wennborg, Jakub Kuderski, Jonathan Springer, Jubi Taneja, Mehdi Amini, Michal Paczkowski, Min-Yih Hsu, Nadav Rotem, Paul Kirth, Petr Hosek, Quentin Colombet, Renato Golin, Stephen Neuendorffer, Timothy Harvey,and Tobias Grosser.

Register today to attend the 2023 EuroLLVM Developers' Meeting in Glasgow, Scotland.