2019 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-10/

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-10/

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

Generating Optimized Code with GlobalISel

Volkan Keles, Daniel Sanders [Slides] [Video]

Even Better C++ Performance and Productivity: Enhancing Clang to Support Just-in-Time Compilation of Templates

Hal Finkel [Slides] [Video]

Technical Talks

Using LLVM's portable SIMD with Zig

Shawn Landden [Video]

Code-Generation for the Arm M-profile Vector Extension

Sjoerd Meijer, Sam Parker [Slides] [Video]

Alive2: Verifying Existing Optimizations

Nuno Lopes, John Regehr [Slides] [Video]

The clang constexpr interpreter

Nandor Licker [Video]

Souper-Charging Peepholes with Target Machine Info

Min-Yih Hsu [Slides] [Video]

Transitioning the Networking Software Toolchain to Clang/LLVM

Ivan Baev, Jeremy Stenglein, Bharathi Seshadri [Video]

Jin Lin [Video]

Hot Cold Splitting Optimization Pass In LLVM

Aditya Kumar [Slides] [Video]

Making UB hurt less: security mitigations through automatic variable initialization

JF Bastien [Video]

Propeller: Profile Guided Large Scale Performance Enhancing Relinker

Sriraman Tallam [Video]

From C++ for OpenCL to C++ for accelerator devices

Anastasia Stulova [Slides] [Video]

LLVM-Canon: Shooting for Clear Diffs

Michal Paszkowski [Slides] [Video]

Better C++ debugging using Clang Modules in LLDB

Raphael Isemann [Video]

Ownership SSA and Semantic SIL

Michael Gottesman [Video]

arm64e: An ABI for Pointer Authentication

Ahmed Bougacha, John McCall [Slides] [Video]

Porting by a 1000 Patches: Bringing Swift to Windows

Saleem Abdulrasool [Slides] [Video]

The Penultimate Challange: Constructing bug reports in the Clang Static Analyzer

Kristóóf Umann [Slides] [Video]

Address Spaces in LLVM

Matt Arsenault [Video]

An MLIR Dialect for High-Level Optimization of Fortran

Eric Schweitz [Video]

Loop-transformation #pragmas in the front-end

Michael Kruse [Video]

Optimizing builds on Windows: some practical considerations

Alexandre Ganea [Slides] [Video]

LLVM-Reduce for testcase reduction

Diego Treviño Ferrer [Video]

Memoro: Scaling an LLVM-based Heap profiler

Thierry Treyer [Slides] [Video]

The Attributor: A Versatile Inter-procedural Fixpoint Iteration Framework

Johannes Doerfert [Slides] [Video]

LLVM Tutorials: How to write Beginner-Friendly, Inclusive Tutorials

Meike Baumgärtner, Dmitri Gribenko [Video]

Maturing an LLVM backend: Lessons learned from the RISC-V target

Alex Bradbury [Video]

Tutorials

Getting Started With LLVM: Basics

Jessica Paquette, Florian Hahn [Video]

ASTImporter: Merging Clang ASTs

Gábor Márton [Video]

Developing the Clang Static Analyzer

Artem Dergachev [Slides] [Video]

Writing an LLVM Pass: 101

Andrzej Warzynski [Slides] [Video]

Writing Loop Optimizations in LLVM

Kit Barton, Ettore Tiotto, Hal Finkel, Michael Kruse, Johannes Doerfert [Video]

The Attributor: A Versatile Inter-procedural Fixpoint Iteration Framework

Johannes Doerfert [Slides] [Video]

Getting Started with the LLVM Testing Infrastructure

Brian Homerding, Michael Kruse [Slides] [Video]

An overview of Clang

Sven van Haastregt, Anastasia Stulova [Slides] [Video]

An overview of LLVM

Eric Christopher, Sanjoy Das, Johannes Doerfert [Video]

How to Contribute to LLVM

Chris Bieneman, Kit Barton [Video]

My First Clang Warning

Dmitri Gribenko, Meike Baumgartner [Video]

Student Research Competition

Cross-Translation Unit Optimization via Annotated Headers

William S. Moses [Video]

Quantifying Dataflow Analysis with Gradients in LLVM

Abhishek Shah [Slides] [Video]

Floating Point Consistency in the Wild: A practical evaluation of how compiler optimizations affect high performance floating point code

Jack J Garzella [Video]

Static Analysis of OpenMP Data Mapping for Target Offloading

Prithayan Barua [Slides] [Video]

Panels

Panel: Inter-procedural Optimization (IPO)

Teresa Johnson, Philip Reames, Chandler Carruth, Johannes Doerfert [Video]

The Loop Optimization Working Group

Kit Barton, Michael Kruse, TBD [Video]

Birds of a Feather

LLDB

Jonas Devlieghere

Towards Better Code Generator Design and Unification for a Stack Machine

Leonid Kholodov, Dmitry Borisenkov

Debug Info

Adrian Prantl

Lightning Talks

GWP-ASan: Zero-Cost Detection of Memory Safety Bugs in Production

Matt Morehouse [Slides] [Video]

When 3 Memory Models Aren’t Enough – OpenVMS on x86

John Reagan [Slides] [Video]

FileCheck: learning arithmetic

Thomas Preud'homme [Slides] [Video]

-Wall Found Programming Errors and Engineering Effort to Enable Across a Large Codebase

Aditya Kumar [Slides] [Video]

Handling 1000s of OpenCL builtin functions in Clang

Sven van Haastregt [Slides] [Video]

NEC SX-Aurora as a Scalable Vector Playground

Simon Moll [Slides] [Video]

Implementing Machine Code Optimizations for RISC-V

Lewis Revill [Slides] [Video]

Optimization Remarks Update

Francis Visoiu Mistrih [Slides] [Video]

Supporting Regular and Thin LTO with a Single LTO Bitcode Format

Matthew Voss [Slides] [Video]

Transitioning Apple’s Downstream llvm-project Repositories to the Monorepo

Alex Lorenz [Slides] [Video]

A Unified Debug Server For Deeply Embedded Systems and LLDB

Simon Cook [Slides] [Video]

State of LLDB and Deeply Embedded RISC-V

Simon Cook [Slides] [Video]

Supporting a Vendor ABI Variant in Clang

Paul Robinson [Slides] [Video]

Speculative Compilation in ORC JIT

Praveen Velliengiri [Slides] [Video]

Optimization Remarks for Human Beings

William Bundy

Improving the Optimized Debugging Experience

Orlando Cazalet-Hyams [Slides] [Video]

Improving your TableGen Descriptions

Javed Absar [Slides] [Video]

Loom: Weaving Instrumentation for Program Analysis

Brian Kidney [Slides] [Video]

Clang Interface Stubs: Syntax Directed Stub Library Generation.

Puyan Lotfi [Slides] [Video]

Flang Update

Steve Scalpone [Slides] [Video]

Lowering tale: Supporting 64 bit pointers in RISCV 32 bit LLVM backend

Reshabh Sharma [Slides] [Video]

Virtual Function Elimination in LLVM

Oliver Stannard [Slides] [Video]

Making a Language Cross Platform: Libraries and Tooling

Gwen Mittertreiner [Slides] [Video]

Grafter - A use case to implement an embedded DSL in C++ and perform source to source traversal fusion transformation using Clang

Laith Sakka [Slides] [Video]

Posters

TON Labs Backend for TON Blockchain

Dmitry Borisenkov, Dmitry Shtukenberg, Leonid Kholodov

LLVM Build Times Using a Program Repository

Rusell Gallop, Phil Camp

RISC-V Bit Manipulation Support in the Clang/LLVM Toolchain

Scott Egerton, Paolo Savini

Attributor, a Framework for Interprocedural Information Deduction

Johannes Doerfert, Hideto Ueno, Stefan Stipanovic

Overflows Be Gone: Checked C for Memory Safety

Mandeep Singh Grang

Cross-Translation Unit Optimization via Annotated Headers

William S. Moses

Quantifying Dataflow Analysis with Gradients in LLVM

Abhishek Shah

Floating Point Consistency in the Wild: A practical evaluation of how compiler optimizations affect high performance floating point code

Jack J Garzella

Static Analysis of OpenMP Data Mapping for Target Offloading

Prithayan Barua

NEC SX-Aurora as a Scalable Vector Playground

Kazuhisa Ishizaka

A Unified Debug Server For Deeply Embedded Systems and LLDB

Simon Cook

Speculative Compilation in ORC JIT

Praveen Velliengiri

Loom: Weaving Instrumentation for Program Analysis

Brian Kidney

Lowering tale: Supporting 64 bit pointers in RISCV 32 bit LLVM backend

Reshabh Sharma

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.