2019 European LLVM Developers' Meeting

Table of Contents

About

The LLVM Developers’ Meeting is a bi-annual gathering of the entire LLVM Project community. The conference is organized by the LLVM Foundation and many volunteers within the LLVM community. Developers and users of LLVM, Clang, and related subprojects will enjoy attending interesting talks, impromptu discussions, and networking with the many members of our community. Whether you are a new to the LLVM project or a long time member, there is something for each attendee.

To see the agenda, speakers, and register, please visit the Event Site here: https://llvm.org/devmtg/2019-04/

What can you can expect at an LLVM Developers’ Meeting?

What types of people attend?

The LLVM Developers’ Meeting strives to be the best conference to meet other LLVM developers and users.

Please visit the event site for all the information, call for papers, and more: https://llvm.org/devmtg/2019-04/

For future announcements or questions: Please visit the LLVM Discourse forums. Most posts are in the Announcements or Community categories and tagged with usllvmdevmtg.

Program

Keynote

MLIR: Multi-Level Intermediate Representation for Compiler Infrastructure

Tatiana Shpeisman (Google), Chris Lattner (Google) [Slides] [Video]

Technical Talks

Switching a Linux distribution's main toolchains to LLVM/Clang

Bernhard Rosenkränzer (Linaro, OpenMandriva, LinDev) [Slides] [Video]

Just compile it: High-level programming on the GPU with Julia

Tim Besard (Ghent University) [Slides] [Video]

The Future of AST Matcher-based Refactoring

Stephen Kelly [Slides] [Video]

A compiler approach to Cyber-Security

François de Ferrière (STMicroelectronics) [Slides] [Video]

Compiler Optimizations for (OpenMP) Target Offloading to GPUs

Johannes Doerfert (Argonne National Laboratory), Hal Finkel (Argonne National Laboratory) [Slides] [Video]

Handling massive concurrency: Development of a programming model for GPU and CPU

Matthias Liedtke (SAP) [Slides] [Video]

Automated GPU Kernel Fusion with XLA

Thomas Joerg (Google) [Slides] [Video]

The Helium Haskell compiler and its new LLVM backend

Ivo Gabe de Wolff (University of Utrecht) [Slides] [Video]

Testing and Qualification of Optimizing Compilers for Functional Safety

José Luis March Cabrelles (Solid Sands) [Slides] [Video]

Improving Debug Information in LLVM to Recover Optimized-out Function Parameters

Nikola Prica (RT-RK), Djordje Todorovic (RT-RK), Ananthakrishna Sowda (CISCO), Ivan Baev (CISCO) [Slides] [Video]

LLVM IR in GraalVM: Multi-Level, Polyglot Debugging with Sulong

Jacob Kreindl (Johannes Kepler University Linz) [Slides]

LLDB Reproducers

Jonas Devlieghere (Apple) [Slides] [Video]

Sulong: An experience report of using the "other end" of LLVM in GraalVM.

Roland Schatz (Oracle Labs), Josef Eisl (Oracle Labs) [Slides] [Video]

SYCL compiler: zero-cost abstraction and type safety for heterogeneous computing

Andrew Savonichev (Intel) [Slides] [Video]

Handling all Facebook requests with JITed C++ code

Huapeng Zhou (Facebook), Yuhan Guo (Facebook) [Slides] [Video]

clang-scan-deps: Fast dependency scanning for explicit modules

Alex Lorenz (Apple), Michael Spencer (Apple) [Slides] [Video]

Clang tools for implementing cryptographic protocols like OTRv4

Sofia Celi (Centro de Autonomia Digital) [Slides] [Video]

Implementing the C++ Core Guidelines'; Lifetime Safety Profile in Clang

Gabor Horvath (Eotvos Lorand University), Matthias Gehre (Silexica GmbH), Herb Sutter (Microsoft) [Slides] [Video]

Changes to the C++ standard library for C++20

Marshall Clow (CppAlliance) [Slides] [Video]

Adventures with RISC-V Vectors and LLVM

Robin Kruppe (TU Darmstadt), Roger Espasa (Esperanto Technologies) [Slides] [Video]

A Tale of Two ABIs: ILP32 on AArch64

Tim Northover (Apple) [Slides] [Video]

LLVM Numerics Improvements

Michael Berg (Apple), Steve Canon (Apple) [Slides] [Video]

DOE Proxy Apps: Compiler Performance Analysis and Optimistic Annotation Exploration

Brian Homerding (Argonne National Laboratory), Johannes Doerfert (Argonne National Laboratory) [Slides] [Video]

Loop Fusion, Loop Distribution and their Place in the Loop Optimization Pipeline

Kit Barton (IBM), Johannes Doerfert (Argonne National Lab), Hal Finkel (Argonne National Lab), Michael Kruse (Argonne National Lab) [Slides] [Video]

Tutorials

Tutorial: Building a Compiler with MLIR

Amini Mehdi (Google), Nicolas Vasilache (Google), Alex Zinenko (Google) [Slides] [Video]

Building an LLVM-based tool: lessons learned

Alex Denisov [Slides] [Video]

LLVM IR Tutorial - Phis, GEPs and other things, oh my!

Vince Bridgers (Intel Corporation), Felipe de Azevedo Piovezan (Intel Corporation) [Slides] [Video]

Student Research Competition

Safely Optimizing Casts between Pointers and Integers

Juneyoung Lee (Seoul National University, Korea), Chung-Kil Hur (Seoul National University, Korea), Ralf Jung (MPI-SWS, Germany), Zhengyang Liu (University of Utah, USA), John Regehr (University of Utah, USA), Nuno P. Lopes (Microsoft Research, UK) [Slides] [Video]

An alternative OpenMP Backend for Polly

Michael Halkenhäuser (TU Darmstadt) [Slides] [Video]

Implementing SPMD control flow in LLVM using reconverging CFGs

Fabian Wahlster (Technische Universität München), Nicolai Hähnle (Advanced Micro Devices) [Slides] [Video]

Function Merging by Sequence Alignment

Rodrigo Rocha (University of Edinburgh), Pavlos Petoumenos (University of Edinburgh), Zheng Wang (Lancaster University), Murray Cole (University of Edinburgh), Hugh Leather (University of Edinburgh) [Slides] [Video]

Compilation and optimization with security annotations

Son Tuan Vu (LIP6), Karine Heydemann (LIP6), Arnaud de Grandmaison (ARM), Albert Cohen (Google) [Slides] [Video]

Adding support for C++ contracts to Clang

Javier López-Gómez (University Carlos III of Madrid), J. Daniel García (University Carlos III of Madrid) [Slides] [Video]

Lightning Talks

LLVM IR Timing Predictions: Fast Explorations via lli

Alessandro Cornaglia (FZI - Research Center for Information Technology)

Simple Outer-Loop-Vectorization == LoopUnroll-And-Jam + SLP

Dibyendu Das (AMD) [Slides]

Clacc 2019: An Update on OpenACC Support for Clang and LLVM

Joel E. Denny (Oak Ridge National Laboratory), Seyong Lee (Oak Ridge National Laboratory), Jeffrey S. Vetter (Oak Ridge National Laboratory) [Slides]

Targeting a statically compiled program repository with LLVM

Phil Camp (SN Systems (Sony Interactive Entertainment)), Russell Gallop (SN Systems (Sony Interactive Entertainment)) [Slides]

Does the win32 clang compiler executable really need to be over 21MB in size?

Russell Gallop (SN Systems), Greg Bedwell (SN Systems) [Slides]

Resolving the almost decade old checker dependency issue in the Clang Static Analyzer

Kristóf Umann (Ericsson Hungary, Eötvös Loránd University) [Slides]

Adopting LLVM Binary Utilities in Toolchains

Jordan Rupprecht (Google) [Slides]

Multiplication and Division in the Range-Based Constraint Manager

Ádám Balogh (Ericsson Hungary Ltd.) [Slides]

Statistics Based Checkers in the Clang Static Analyzer

Ádám Balogh (Ericsson Hungary Ltd.) [Slides]

Flang Update

Steve Scalpone (NVIDA / PGI / Flang) [Slides]

Swinging Modulo Scheduling together with Register Allocation

Lama Saba (Intel) [Video]

LLVM for the Apollo Guidance Computer

Lewis Revill (University of Bath) [Video]

Catch dangling inner pointers with the Clang Static Analyzer

Réka Kovács (Eötvös Loränd University) [Slides]

Cross translation unit test case reduction

Réka Kovács (Eötvös Loränd University) [Slides]

BoFs

RFC: Towards Vector Predication in LLVM IR

Simon Moll (Saarland University), Sebastian Hack (Saarland University)

IPO --- Where are we, where do we want to go?

Johannes Doerfert (Argonne National Laboratory), Kit Barton (IBM Toronto Lab)

LLVM binutils

James Henderson (SN Systems (Sony Interactive Entertainment)), Jordan Rupprecht (Google)

RFC: Reference OpenCL Runtime library for LLVM

Andrew Savonichev (Intel), Alexey Sachkov (Intel)

LLVM Interface Stability Guarantees BoF

Stephen Kelly

Clang Static Analyzer BoF

Artem Dergachev (Apple), Devin Coughlin (Apple), Gabor Horvath (Eotvos Lorand University)

LLVM Numerics Improvements

Michael Berg (Apple), Steve Canon (Apple)

LLVM Foundation BoF

LLVM Foundation Board of Directors

Posters

Clava: C/C++ source-to-source from CMake using LARA

João Bispo (FEUP/INESCTEC) [Slides]

Safely Optimizing Casts between Pointers and Integers

Juneyoung Lee (Seoul National University, Korea), Chung-Kil Hur (Seoul National University, Korea), Ralf Jung (MPI-SWS, Germany), Zhengyang Liu (University of Utah, USA), John Regehr (University of Utah, USA), Nuno P. Lopes (Microsoft Research, UK) [Slides]

Scalar Evolution Canon: Click! Canonicalize SCEV and validate it by Z3 SMT solver!

Lin-Ya Yu (Xilinx), Alexandre Isoard (Xilinx)

Splendid GVN: Partial Redundancy Elimination for Algebraic Simplification

Li-An Her (National Tsing Hua University), Jenq-Kuen Lee (National Tsing Hua University) [Slides]

An alternative OpenMP Backend for Polly

Michael Halkenhäuser (TU Darmstadt) [Slides]

Does the win32 clang compiler executable really need to be over 21MB in size?

Russell Gallop (SN Systems), G Bedwell (SN Systems) [Slides]

Enabling Multi- and Cross-Language Verification with LLVM

Jack J. Garzella (University of Utah), Marek Baranowski (University of Utah), Shaobo He (University of Utah), Zvonimir Rakamaric (University of Utah) [Slides]

Instruction Tracing and dynamic codegen analysis to identify unique llvm performance issues.

Biplob (IBM) [Slides]

Handling all Facebook requests with JITed C++ code

Huapeng Zhou (Facebook), Yuhan Guo (Facebook) [Slides]

Implementing SPMD control flow in LLVM using reconverging CFGs

Fabian Wahlster (Technische Universität München), Nicolai Hähnle (Advanced Micro Devices) [Slides]

LLVM for the Apollo Guidance Computer

Lewis Revill (University of Bath)

LLVM Miner: Text Analytics based Static Knowledge Extractor

Hameeza Ahmed (NED University of Engineering and Technology), Muhammad Ali Ismail (NED University of Engineering and Technology) [Slides]

Function Merging by Sequence Alignment

Rodrigo Rocha (University of Edinburgh), Pavlos Petoumenos (University of Edinburgh), Zheng Wang (Lancaster University), Murray Cole (University of Edinburgh), Hugh Leather (University of Edinburgh) [Slides]

Compilation and optimization with security annotations

Son Tuan Vu (LIP6), Karine Heydemann (LIP6), Arnaud de Grandmaison (ARM), Albert Cohen (Google) [Slides]

Leveraging Polyhedral Compilation in Chapel Compiler

Sahil Yerawar (IIT Hyderabad), Siddharth Bhat (IIIT Hyderabad), Michael Ferguson (Cray Inc.), Philip Pfaffe (Karlsruhe Institute of Technology), Ramakrishna Upadrasta (IIT Hyderabad) [Slides]

LLVM on AVR - textual IR as a powerful tool for making "impossible" compilers

Carl Peto (Swift for Arduino/Petosoft)

Vectorizing Add/Sub Expressions with SLP

Vasileios Porpodas (Intel Corporation, USA), Rodrigo C. O. Rocha (University of Edinburgh, UK), Evgueni Brevnov (Intel Corporation, USA), Luís F. W. Góes (PUC Minas, Brazil), Timothy Mattson (Intel Corporation, USA) [Slides]

Adding support for C++ contracts to Clang

Javier López-Gómez (University Carlos III of Madrid), J. Daniel García (University Carlos III of Madrid) [Slides]

Optimizing Nondeterminacy: Exploiting Race Conditions in Parallel Programs

William S. Moses (MIT CSAIL)

Code of Conduct

The LLVM Foundation is dedicated to providing an inclusive and safe experience for everyone. We do not tolerate harassment of participants in any form. By registering for this event, we expect you to have read and agree to the LLVM Code of Conduct.

Contact

To contact the organizer, email events@llvm.org.