Keynote:
- Undef and Poison: Present and Future - Juneyoung Lee [ Video ] [ PDF Slides ] [ PPT Slides ]
Technical Talks:
- Clang & Linux: Asm Goto with Outputs - Bill Wendling, Nick Desaulniers [ Video ] [ Slides ]
- LLVM Libc: Current Status, Challenges and Future Plans - Siva Chandra Reddy, Guillaume Chatelet, Paula Asker, David Finkelstein [ Video ] [ Slides ]
- Branch Coverage: Squeezing more out of LLVM Source-based Code Coverage - Alan Phipps [ Video ] [ PDF Slides ] [ PPT Slides ]
- Memory tagging in LLVM and Android - Evgenii Stepanov, Kostya Serebryany, Peter Collingbourne, Mitch Phillips [ Video ] [ Slides ]
- Towards a representation of arbitrary alias graph in LLVM IR for Fortran code - Kelvin Li; Tarique Islam [ Video ] [ Slides ]
- Control-flow sensitive escape analysis in Falcon JIT - Artur Pilipenko [ Video ] [ Slides ]
- Extending Clang for checking compliance with automotive coding standards - Milena Vujosevic Janicic [ Video ] [ Slides ]
- An Update on Optimizing Multiple Exit Loops - Philip Reames [ Video] [ Slides ]
- Code Size Compiler Optimizations and Techniques - Aditya Kumar [ Video ] [ Slides ]
- Accelerate Matrix Multiplication Using the New POWER Outer Product Instructions - Baptiste Saleil, João Carvalho [ Video ] [ Slides ]
- CIL : Common MLIR Dialect for C/C++ and Fortran - Prashantha NR, Vinay Madhusudan, Ranjith Kumar, Srihari [ Video ] [ Slides ]
- Building compiler extension for LLVM 10.0.1 - Serge Guelton [ Video ] [ Slides ]
- LLVM-based mutation testing for C and C++ - Alex Denisov; Stanislav Pankevich [ Video ] [ Slides ]
- Matrix Support in Clang and LLVM- Florian Hahn [ Video ] [ Slides ]
- Adding CUDA® Support to Cling: JIT Compile to GPUs - Simeon Ehrig [ Video ] [ Slides ]
- 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 [ Video ] [ PDF Slides ] [ PPT Slides ]
- Pushing Back Lit’s Boundaries to Test Libc++ - L. Dionne [ Video ] [ Slides ]
- Evolving “convergent”: Lessons from Control Flow in AMDGPU - N. Hähnle [ Video ] [ Slides ]
- How to update debug info in compiler transformations - A. Prantl; V. Kumar [ Video ] [ Slides ]
- Proposal for A Framework for More Effective Loop Optimizations - M. Kruse; H. Finkel [ Video ] [ Slides ]
- Changing Everything With Clang Plugins: A Story About Syntax Extensions, Clang’s AST, and Quantum Computing = H. Finkel; A. Mccaskey [ Video ] [ Slides ]
- (OpenMP) Parallelism-Aware Optimizations - J. Doerfert; S. Stipanovic; H. Mosquera; J. Chesterfield; G. Georgakoudis; J. Huber [ Video ] [ Slides ]
- Checked C: Adding memory safety support to LLVM - M. Grang; K. Kjeer [ Video ][ Slides ]
Tutorials:
- Everything I know about debugging LLVM - N. Desaulniers [ Video ] [ Slides ]
- LLVM in a Bare Metal Environment - H. Qadeer [ Video ] [ Slides ]
- LLVM PGO Instrumentation: Example of CallSite-Aware Profiling - P. Kosov; S. Yakushkin [ Video ] [ Slides ]
- Understanding Changes made by a Pass in the Opt Pipeline. - J. Schmeiser [ Video ] [ Slides ]
- Using clang-tidy for customized checkers and large scale source tree refactoring - V. Bridgers [ Video ] [ Slides ]
- Finding Your Way Around the LLVM Dependence Analysis Zoo - S. Baziotis; S. Moll [ Video ] [ Slides ] [ Slides PPT ]
- Using the clang static analyzer to find bugs - V. Bridgers [ Video ] [ Slides PDF ] [ Slides PPT ]
- A Deep Dive into the Interprocedural Optimization Infrastructure - J. Doerfert; B. Homerding; S. Baziotis; S. Stipanovic; H. Ueno; K. Dinel; S. Okumura; L. Chen [ Video ] [ Slides ]
- MLIR Tutorial - M. Amini [ Video ] [ Slides ]
Lightning Talks:
- Finding and Outlining Similarities in LLVM IR - A. Litteken [ Video ] [ Slides ]
- A fast algorithm for global code motion of congruent instructions - A. Kumar; S. Pop [ Video ] [ Slides ]
- From Implicit Pass Dependencies to Effectiveness Prediction - H. Ueno; J. Doerfert; E. Park; G. Georgakoudis; T. Jayatilaka; S. Badruswamy [ Video ] [ Slides ]
- Using Clang as An Alternative C/C++ Frontend of The ROSE Source-to-Source Compiler - A. Wang; P. Lin; C. Liao; Y. Yan [ Video ] [ Slides ]
- OpenACC support in Flang with a MLIR dialect - V. Clement; J. Vetter [ Video ] [ Slides ]
- Fragmenting the DWARF to Enable Dead Debug Data Elimination - J. Henderson [ Video ] [ Slides ] [ PPT Slides ]
- Source-based Code Coverage for Embedded Use Cases - A. Phipps; C. Addison [ Video ] [ Slides ] [ PPT Slides ]
- pre-merge checks for LLVM - M. Goncharov; C. Kühnel [ Video ] [ Slides ]
- Getting stack size just right on XCore - J. McCrea [ Video ] [ Slides ]
- Compile Faster with the Program Repository and ccache - Y. Yi; P. Bowen-Huggett [ Video ] [ Slides ]
- GWP-TSan: Zero-Cost Detection of Data Races in Production - M. Morehouse; K. Serebryany [ Video ] [ Slides ]
- CompilerInvocation to -cc1 command line - D. Grumberg [ Video ] [ Slides ]
- Outer-Loop Vectorization Legality Analysis for RV: One Step Closer to a Powerful Vectorizer for LLVM - S. Baziotis [ Video ] [ Slides ]
- Flang Update - S. Scalpone [ Video ] [ Slides ]
- Code Feature Analysis, Tracking, and Future Usage - T. Jayatilaka; J. Doerfert; G. Georgakoudis; E. Park; H. Ueno; S. Badruswamy [ Video ] [ Slides ]
- Lowering XLA HLO using RISE - A Functional Pattern-based MLIR Dialect - M. Lücke; A. Smith; M. Steuwer [ Video ] [ Slides]
- SYCL for CUDA: An overview of implementing PI for CUDA - A. Johnston [ Video ] [ Slides ]
- Extending LLDB to More Scripting Languages - J. Devlieghere [ Video ] [ Slides ]
- Adding a Subtarget Support to LLVM in Five Minutes - E. Yakubova [ Video ] [ Slides ]
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. Vassilevv; D. Lange
- Enzyme: High-Performance Automatic Differentiation of LLVM - W. Moses; V. Churavy