2020 Virtual 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/2020-09/

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/2020-09/

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

Undef and Poison: Present and Future

Juneyoung Lee [Slides] [Video]

Technical Talks

Clang & Linux: Asm Goto with Outputs

Bill Wendling, Nick Desaulniers [Slides] [Video]

LLVM Libc: Current Status, Challenges and Future Plans

Siva Chandra Reddy, Guillaume Chatelet, Paula Asker, David Finkelstein [Slides] [Video]

Branch Coverage: Squeezing more out of LLVM Source-based Code Coverage

Alan Phipps [Slides] [Video]

Memory tagging in LLVM and Android

Evgenii Stepanov, Kostya Serebryany, Peter Collingbourne, Mitch Phillips [Slides] [Video]

Towards a representation of arbitrary alias graph in LLVM IR for Fortran code

Kelvin Li; Tarique Islam [Slides] [Video]

Control-flow sensitive escape analysis in Falcon JIT

Artur Pilipenko [Slides] [Video]

Extending Clang for checking compliance with automotive coding standards

Milena Vujosevic Janicic [Slides] [Video]

An Update on Optimizing Multiple Exit Loops

Philip Reames [Slides] [Video]

Code Size Compiler Optimizations and Techniques

Aditya Kumar [Slides] [Video]

Accelerate Matrix Multiplication Using the New POWER Outer Product Instructions

Baptiste Saleil, João Carvalho [Video]

CIL : Common MLIR Dialect for C/C++ and Fortran

Prashantha NR, Vinay Madhusudan, Ranjith Kumar, Srihari [Slides] [Video]

Building compiler extension for LLVM 10.0.1

Serge Guelton [Slides] [Video]

LLVM-based mutation testing for C and C++

Alex Denisov; Stanislav Pankevich [Slides] [Video]

Matrix Support in Clang and LLVM

Florian Hahn [Slides] [Video]

Adding CUDA® Support to Cling: JIT Compile to GPUs

Simeon Ehrig [Slides] [Video]

The Present and Future of Interprocedural Optimization in LLVM

Johannes Doerfert, Brian Homerding, Stefanos Baziotis, Stefan Stipanovic, Hideto Ueno, Kuter Dinel, Shinji Okumura, Luofan Chen [Slides] [Video]

Pushing Back Lit’s Boundaries to Test Libc++

L. Dionne [Slides] [Video]

Evolving “convergent”: Lessons from Control Flow in AMDGPU

N. Hähnle [Slides] [Video]

How to update debug info in compiler transformations

A. Prantl; V. Kumar [Slides] [Video]

Proposal for A Framework for More Effective Loop Optimizations

M. Kruse; H. Finkel [Slides] [Video]

Changing Everything With Clang Plugins: A Story About Syntax Extensions, Clang’s AST, and Quantum Computing

H. Finkel; A. Mccaskey [Slides] [Video]

(OpenMP) Parallelism-Aware Optimizations

J. Doerfert; S. Stipanovic; H. Mosquera; J. Chesterfield; G. Georgakoudis; J. Huber [Slides] [Video]

Checked C: Adding memory safety support to LLVM

M. Grang; K. Kjeer [Slides] [Video]

Tutorials

Everything I know about debugging LLVM

N. Desaulniers [Slides] [Video]

LLVM in a Bare Metal Environment

H. Qadeer [Slides] [Video]

LLVM PGO Instrumentation: Example of CallSite-Aware Profiling

P. Kosov; S. Yakushkin [Slides] [Video]

Understanding Changes made by a Pass in the Opt Pipeline.

J. Schmeiser [Slides] [Video]

Using clang-tidy for customized checkers and large scale source tree refactoring

V. Bridgers [Slides] [Video]

Finding Your Way Around the LLVM Dependence Analysis Zoo

S. Baziotis; S. Moll [Slides] [Video]

Using the clang static analyzer to find bugs

V. Bridgers [Slides] [Video]

A Deep Dive into the Interprocedural Optimization Infrastructure

J. Doerfert; B. Homerding; S. Baziotis; S. Stipanovic; H. Ueno; K. Dinel; S. Okumura; L. Chen [Slides] [Video]

MLIR Tutorial

M. Amini [Slides] [Video]

Lightning Talks

Finding and Outlining Similarities in LLVM IR

A. Litteken [Slides] [Video]

A fast algorithm for global code motion of congruent instructions

A. Kumar; S. Pop [Slides] [Video]

From Implicit Pass Dependencies to Effectiveness Prediction

H. Ueno; J. Doerfert; E. Park; G. Georgakoudis; T. Jayatilaka; S. Badruswamy [Slides] [Video]

Using Clang as An Alternative C/C++ Frontend of The ROSE Source-to-Source Compiler

A. Wang; P. Lin; C. Liao; Y. Yan [Slides] [Video]

OpenACC support in Flang with a MLIR dialect

V. Clement; J. Vetter [Slides] [Video]

Fragmenting the DWARF to Enable Dead Debug Data Elimination

J. Henderson [Slides] [Video]

Source-based Code Coverage for Embedded Use Cases

A. Phipps; C. Addison [Slides] [Video]

pre-merge checks for LLVM

M. Goncharov; C. Kühnel [Slides] [Video]

Getting stack size just right on XCore

J. McCrea [Slides] [Video]

Compile Faster with the Program Repository and ccache

Y. Yi; P. Bowen-Huggett [Slides] [Video]

GWP-TSan: Zero-Cost Detection of Data Races in Production

M. Morehouse; K. Serebryany [Slides] [Video]

CompilerInvocation to -cc1 command line

D. Grumberg [Slides] [Video]

Outer-Loop Vectorization Legality Analysis for RV: One Step Closer to a Powerful Vectorizer for LLVM

S. Baziotis [Slides] [Video]

Flang Update

S. Scalpone [Slides] [Video]

Code Feature Analysis, Tracking, and Future Usage

T. Jayatilaka; J. Doerfert; G. Georgakoudis; E. Park; H. Ueno; S. Badruswamy [Slides] [Video]

Lowering XLA HLO using RISE - A Functional Pattern-based MLIR Dialect

M. Lücke; A. Smith; M. Steuwer [Slides] [Video]

SYCL for CUDA: An overview of implementing PI for CUDA

A. Johnston [Slides] [Video]

Extending LLDB to More Scripting Languages

J. Devlieghere [Slides] [Video]

Adding a Subtarget Support to LLVM in Five Minutes

E. Yakubova [Slides] [Video]

Birds of a Feather

ClangBuiltLinux BoF

N. Desaulniers

Loop Optimization BoF

M. Kruse; K. Barton

LLVM Just-In-Time Compilers BoF

L. Hames

Code Size Optimization

S. Bartell; V. Adve

Student Research Competition

Enzyme: High-Performance Automatic Differentiation of LLVM

W. Moses; V. Churavy

SPAM: Stateless Permutation of Application Memory with LLVM

M. Ziad; M. Arroyo; S. Sethumadhavan

HPVM-FPGFA: Leveraging Compiler Optimizations for Hardware-Agnostic FPGA Programming

A. Ejjeh; K. Kanwar; M. Kotsifakou; V. Adve; R. Rutenbar

Guided Linking: shrinking and speeding up dynamically linked code

S. Bartell; V. Adve

ApproxTuner: A Compiler and Runtime System for Adaptive Approximations

H. Sharif; M. Kotsifakou; Y. Zhao; A. Kothari; B. Schreiber; E. Wang; Y. Sarita; N. Zhao; K. Joshi; V. Adve; S. Misailovic; S. Adve

Posters

CIRCT: MLIR for Hardware Design

A. Wilson; S. Neuendorffer; C. Lattner

An Approach to Generate Correctly Rounded Math Libraries for New Floating Point Variants

J. Lim; M. Aanjaneya; J. Gustafson; S. Nagarakatte

Compiling a Higher-Order Smart Contract Language to LLVM

V. Nagaraj; J. Johannsen; A. Trunov; G. Pirlea; A. Kumar; I. Sergey

To -jInfinity & Beyond

W. Moses; K. Kwok; L. Sha

llvm-diva – Debug Information Visual Analyzer

C. Enciso

Quickly Finding RISC-V Code Quality Issues with Differential Analysis

L. Marques

Error estimates of floating-point numbers and Jacobian matrix computation in Clad

V. Vassilev; A. Penev; R. Shakhov

Data Dependency using MSSA: Analysis and Contrast

R. Sharma; W. Tsang

Connecting Clang to The ROSE Source-to-Source Compiler

A. Wang; P. Lin; C. Liao; Y. Yan

Incremental Compilation Support in Clang

V. Vassilev; D. Lange

Enzyme: High-Performance Automatic Differentiation of LLVM

W. Moses; V. Churavy

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.