2020 Virtual LLVM Developers' MeetingTable of ContentsAboutProgramKeynoteUndef and Poison: Present and FutureTechnical TalksClang & Linux: Asm Goto with OutputsLLVM Libc: Current Status, Challenges and Future PlansBranch Coverage: Squeezing more out of LLVM Source-based Code CoverageMemory tagging in LLVM and AndroidTowards a representation of arbitrary alias graph in LLVM IR for Fortran codeControl-flow sensitive escape analysis in Falcon JITExtending Clang for checking compliance with automotive coding standardsAn Update on Optimizing Multiple Exit LoopsCode Size Compiler Optimizations and TechniquesAccelerate Matrix Multiplication Using the New POWER Outer Product InstructionsCIL : Common MLIR Dialect for C/C++ and FortranBuilding compiler extension for LLVM 10.0.1LLVM-based mutation testing for C and C++Matrix Support in Clang and LLVMAdding CUDA® Support to Cling: JIT Compile to GPUsThe Present and Future of Interprocedural Optimization in LLVMPushing Back Lit’s Boundaries to Test Libc++Evolving “convergent”: Lessons from Control Flow in AMDGPUHow to update debug info in compiler transformationsProposal for A Framework for More Effective Loop OptimizationsChanging Everything With Clang Plugins: A Story About Syntax Extensions, Clang’s AST, and Quantum Computing(OpenMP) Parallelism-Aware OptimizationsChecked C: Adding memory safety support to LLVMTutorialsEverything I know about debugging LLVMLLVM in a Bare Metal EnvironmentLLVM PGO Instrumentation: Example of CallSite-Aware ProfilingUnderstanding Changes made by a Pass in the Opt Pipeline.Using clang-tidy for customized checkers and large scale source tree refactoringFinding Your Way Around the LLVM Dependence Analysis ZooUsing the clang static analyzer to find bugsA Deep Dive into the Interprocedural Optimization InfrastructureMLIR TutorialLightning TalksFinding and Outlining Similarities in LLVM IRA fast algorithm for global code motion of congruent instructionsFrom Implicit Pass Dependencies to Effectiveness PredictionUsing Clang as An Alternative C/C++ Frontend of The ROSE Source-to-Source CompilerOpenACC support in Flang with a MLIR dialectFragmenting the DWARF to Enable Dead Debug Data EliminationSource-based Code Coverage for Embedded Use Casespre-merge checks for LLVMGetting stack size just right on XCoreCompile Faster with the Program Repository and ccacheGWP-TSan: Zero-Cost Detection of Data Races in ProductionCompilerInvocation to -cc1 command lineOuter-Loop Vectorization Legality Analysis for RV: One Step Closer to a Powerful Vectorizer for LLVMFlang UpdateCode Feature Analysis, Tracking, and Future UsageLowering XLA HLO using RISE - A Functional Pattern-based MLIR DialectSYCL for CUDA: An overview of implementing PI for CUDAExtending LLDB to More Scripting LanguagesAdding a Subtarget Support to LLVM in Five MinutesBirds of a FeatherClangBuiltLinux BoFLoop Optimization BoFLLVM Just-In-Time Compilers BoFCode Size OptimizationStudent Research CompetitionEnzyme: High-Performance Automatic Differentiation of LLVMSPAM: Stateless Permutation of Application Memory with LLVMHPVM-FPGFA: Leveraging Compiler Optimizations for Hardware-Agnostic FPGA ProgrammingGuided Linking: shrinking and speeding up dynamically linked codeApproxTuner: A Compiler and Runtime System for Adaptive ApproximationsPostersCIRCT: MLIR for Hardware DesignAn Approach to Generate Correctly Rounded Math Libraries for New Floating Point VariantsCompiling a Higher-Order Smart Contract Language to LLVMTo -jInfinity & Beyondllvm-diva – Debug Information Visual AnalyzerQuickly Finding RISC-V Code Quality Issues with Differential AnalysisError estimates of floating-point numbers and Jacobian matrix computation in CladData Dependency using MSSA: Analysis and ContrastConnecting Clang to The ROSE Source-to-Source CompilerIncremental Compilation Support in ClangEnzyme: High-Performance Automatic Differentiation of LLVMCode of ConductContactConference Dates: October 6-8, 2020Location: VirtualEvent Site: https://llvm.org/devmtg/2020-09/AboutThe 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?Technical TalksThese 25 minute talks cover all topics from core infrastructure talks, to project’s using LLVM’s infrastructure. Attendees will take away technical information that could be pertinent to their project or general interest.TutorialsTutorials are 60 minute sessions that dive down deep into a technical topic. Expect in depth examples and explanations.Lightning TalksThese are fast 5 minute talks that give you a taste of a project or topic. Attendees will hear a wide range of topics and probably leave wanting to learn more.Student Research CompetitionStudents present their research using LLVM or related subproject. These are usually 20 minute technical presentations with Q&A. The audience will vote at the end for the winning presentation and paper.Poster SessionAn hour long session where selected posters are on display, with the presenters available for learning more on each poster.Birds of a FeatherAn open discussion on a specific topic that is usually guided by a slide deck.NetworkingOpportunities to network virtually with other LLVM DevelopersRound TablesInformal and impromptu discussions on a specific topic. During the conference there are set time slots where groups can organize to discuss a problem or topic.What types of people attend?Active developers of projects in the LLVM Umbrella (LLVM core, Clang, LLDB, libc++, compiler_rt, flang, lld, MLIR, etc).Anyone interested in using these as part of another project.Students and ResearchersCompiler, programming language, and runtime enthusiasts.Those interested in using compiler and toolchain technology in novel and interesting ways.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.ProgramKeynoteUndef and Poison: Present and FutureJuneyoung Lee [Slides] [Video]Technical TalksClang & Linux: Asm Goto with OutputsBill Wendling, Nick Desaulniers [Slides] [Video]LLVM Libc: Current Status, Challenges and Future PlansSiva Chandra Reddy, Guillaume Chatelet, Paula Asker, David Finkelstein [Slides] [Video]Branch Coverage: Squeezing more out of LLVM Source-based Code CoverageAlan Phipps [Slides] [Video]Memory tagging in LLVM and AndroidEvgenii Stepanov, Kostya Serebryany, Peter Collingbourne, Mitch Phillips [Slides] [Video]Towards a representation of arbitrary alias graph in LLVM IR for Fortran codeKelvin Li; Tarique Islam [Slides] [Video]Control-flow sensitive escape analysis in Falcon JITArtur Pilipenko [Slides] [Video]Extending Clang for checking compliance with automotive coding standardsMilena Vujosevic Janicic [Slides] [Video]An Update on Optimizing Multiple Exit LoopsPhilip Reames [Slides] [Video]Code Size Compiler Optimizations and TechniquesAditya Kumar [Slides] [Video]Accelerate Matrix Multiplication Using the New POWER Outer Product InstructionsBaptiste Saleil, João Carvalho [Video]CIL : Common MLIR Dialect for C/C++ and FortranPrashantha NR, Vinay Madhusudan, Ranjith Kumar, Srihari [Slides] [Video]Building compiler extension for LLVM 10.0.1Serge Guelton [Slides] [Video]LLVM-based mutation testing for C and C++Alex Denisov; Stanislav Pankevich [Slides] [Video]Matrix Support in Clang and LLVMFlorian Hahn [Slides] [Video]Adding CUDA® Support to Cling: JIT Compile to GPUsSimeon Ehrig [Slides] [Video]The Present and Future of Interprocedural Optimization in LLVMJohannes 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 AMDGPUN. Hähnle [Slides] [Video]How to update debug info in compiler transformationsA. Prantl; V. Kumar [Slides] [Video]Proposal for A Framework for More Effective Loop OptimizationsM. Kruse; H. Finkel [Slides] [Video]Changing Everything With Clang Plugins: A Story About Syntax Extensions, Clang’s AST, and Quantum ComputingH. Finkel; A. Mccaskey [Slides] [Video](OpenMP) Parallelism-Aware OptimizationsJ. Doerfert; S. Stipanovic; H. Mosquera; J. Chesterfield; G. Georgakoudis; J. Huber [Slides] [Video]Checked C: Adding memory safety support to LLVMM. Grang; K. Kjeer [Slides] [Video]TutorialsEverything I know about debugging LLVMN. Desaulniers [Slides] [Video]LLVM in a Bare Metal EnvironmentH. Qadeer [Slides] [Video]LLVM PGO Instrumentation: Example of CallSite-Aware ProfilingP. 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 refactoringV. Bridgers [Slides] [Video]Finding Your Way Around the LLVM Dependence Analysis ZooS. Baziotis; S. Moll [Slides] [Video]Using the clang static analyzer to find bugsV. Bridgers [Slides] [Video]A Deep Dive into the Interprocedural Optimization InfrastructureJ. Doerfert; B. Homerding; S. Baziotis; S. Stipanovic; H. Ueno; K. Dinel; S. Okumura; L. Chen [Slides] [Video]MLIR TutorialM. Amini [Slides] [Video]Lightning TalksFinding and Outlining Similarities in LLVM IRA. Litteken [Slides] [Video]A fast algorithm for global code motion of congruent instructionsA. Kumar; S. Pop [Slides] [Video]From Implicit Pass Dependencies to Effectiveness PredictionH. 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 CompilerA. Wang; P. Lin; C. Liao; Y. Yan [Slides] [Video]OpenACC support in Flang with a MLIR dialectV. Clement; J. Vetter [Slides] [Video]Fragmenting the DWARF to Enable Dead Debug Data EliminationJ. Henderson [Slides] [Video]Source-based Code Coverage for Embedded Use CasesA. Phipps; C. Addison [Slides] [Video]pre-merge checks for LLVMM. Goncharov; C. Kühnel [Slides] [Video]Getting stack size just right on XCoreJ. McCrea [Slides] [Video]Compile Faster with the Program Repository and ccacheY. Yi; P. Bowen-Huggett [Slides] [Video]GWP-TSan: Zero-Cost Detection of Data Races in ProductionM. Morehouse; K. Serebryany [Slides] [Video]CompilerInvocation to -cc1 command lineD. Grumberg [Slides] [Video]Outer-Loop Vectorization Legality Analysis for RV: One Step Closer to a Powerful Vectorizer for LLVMS. Baziotis [Slides] [Video]Flang UpdateS. Scalpone [Slides] [Video]Code Feature Analysis, Tracking, and Future UsageT. Jayatilaka; J. Doerfert; G. Georgakoudis; E. Park; H. Ueno; S. Badruswamy [Slides] [Video]Lowering XLA HLO using RISE - A Functional Pattern-based MLIR DialectM. Lücke; A. Smith; M. Steuwer [Slides] [Video]SYCL for CUDA: An overview of implementing PI for CUDAA. Johnston [Slides] [Video]Extending LLDB to More Scripting LanguagesJ. Devlieghere [Slides] [Video]Adding a Subtarget Support to LLVM in Five MinutesE. Yakubova [Slides] [Video]Birds of a FeatherClangBuiltLinux BoFN. DesaulniersLoop Optimization BoFM. Kruse; K. BartonLLVM Just-In-Time Compilers BoFL. HamesCode Size OptimizationS. Bartell; V. AdveStudent Research CompetitionEnzyme: High-Performance Automatic Differentiation of LLVMW. Moses; V. ChuravySPAM: Stateless Permutation of Application Memory with LLVMM. Ziad; M. Arroyo; S. SethumadhavanHPVM-FPGFA: Leveraging Compiler Optimizations for Hardware-Agnostic FPGA ProgrammingA. Ejjeh; K. Kanwar; M. Kotsifakou; V. Adve; R. RutenbarGuided Linking: shrinking and speeding up dynamically linked codeS. Bartell; V. AdveApproxTuner: A Compiler and Runtime System for Adaptive ApproximationsH. Sharif; M. Kotsifakou; Y. Zhao; A. Kothari; B. Schreiber; E. Wang; Y. Sarita; N. Zhao; K. Joshi; V. Adve; S. Misailovic; S. AdvePostersCIRCT: MLIR for Hardware DesignA. Wilson; S. Neuendorffer; C. LattnerAn Approach to Generate Correctly Rounded Math Libraries for New Floating Point VariantsJ. Lim; M. Aanjaneya; J. Gustafson; S. NagarakatteCompiling a Higher-Order Smart Contract Language to LLVMV. Nagaraj; J. Johannsen; A. Trunov; G. Pirlea; A. Kumar; I. SergeyTo -jInfinity & BeyondW. Moses; K. Kwok; L. Shallvm-diva – Debug Information Visual AnalyzerC. EncisoQuickly Finding RISC-V Code Quality Issues with Differential AnalysisL. MarquesError estimates of floating-point numbers and Jacobian matrix computation in CladV. Vassilev; A. Penev; R. ShakhovData Dependency using MSSA: Analysis and ContrastR. Sharma; W. TsangConnecting Clang to The ROSE Source-to-Source CompilerA. Wang; P. Lin; C. Liao; Y. YanIncremental Compilation Support in ClangV. Vassilev; D. LangeEnzyme: High-Performance Automatic Differentiation of LLVMW. Moses; V. ChuravyCode of ConductThe 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.ContactTo contact the organizer, email events@llvm.org.