blob: be409fe08424b1273328475761bc4a457f7f8f24 [file] [log] [blame]
<!--#include virtual="../../header.incl" -->
<div class="www_sectiontitle">2019 LLVM Developers' Meeting - Bay Area</div>
<div style="float:left; width:68%;">
<br>
<div style="width:100%;">
<table><tr>
<td valign="top">
<ol>
<li><a href="#about">About</a></li>
<li><a href="#neworientation">Newcomer Orientation</a></li>
<li><a href="#wictw">Women in Compilers & Tools Workshop</a></li>
<li><a href="#program">Program</a></li>
<li><a href="#round">Round Tables</a></li>
<li><a href="#grant">Travel Grants for Students</a></li>
<li><a href="#hotel">Logistics</a></li>
<li><a href="#coc">Code of Conduct</a></li>
<li><a href="#contact">Contact</a></li>
</ol>
</td>
<td valign="top">
<ul>
<li><b>Conference Dates</b>: October 22-23, 2019</li>
<li><b>Location</b>:
<a href="https://www.sanjose.org/convention-center">
San Jose Convention Center</a>, San Jose, CA</li>
<li><b><a href="https://www.eventbrite.com/e/2019-llvm-developers-meeting-bay-area-tickets-63481303287">Registration</a></b>
<li><b>Newcomer Orientation:</b> October 21, 2019 (5:45-6:30)</li>
<li><a href="https://www.eventbrite.com/e/newcomer-orientation-2019-llvm-developers-meeting-bay-area-tickets-64471499992">Registration</a></li>
<li><b>Women in Compilers and Tools Workshop</b>: October 21, 2019 (12:30-5:30pm)</li>
<li><a href="https://www.eventbrite.com/e/2019-llvm-foundations-women-in-compilers-and-tools-workshop-tickets-64471042624">Registration</a></li>
</ul>
</td>
</tr></table>
</div>
<div class="www_sectiontitle" id="about">About</div>
<p>The LLVM Developers' Meeting is a bi-annual 2 day 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.
</p>
<p>What can you can expect at an LLVM Developers' Meeting?
<dl>
<dt><b>Technical Talks</b></dt>
<dd>These 20-30 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.</li>
<br></dd>
<dt><b>Tutorials</b></dt>
<dd>Tutorials are 50-60 minute sessions that dive down deep into a technical topic. Expect in depth examples and explanations.</dd>
<dt><b>Lightning Talks</b></dt>
<dd>These 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.</dd>
<dt><b>Panels</b></dt>
<dd>Panel sessions are guided discussions about a specific topic. The panel consists of ~3 developers who discuss a topic through prepared questions from a moderator. The audience is also given the opportunity to ask questions of the panel.
</dd>
<dt><b>Student Research Competition</b> </dt>
<dd>Students 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.</dd>
<dt><b>Poster Session</b></dt>
<dd>An hour long poster session where selected posted are on display.</dd>
<dt><b>Round Table Discussions</b> </dt>
<dd>Informal 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.</dd>
<dt><b>Evening Reception</b> </dt>
<dd>After a full day if technical talks and discussions, join your fellow attendees for an evening reception to continue the conversation and meet even more attendees.</dd>
</dl>
</p>
<p>What types of people attend?
<ul>
<li>Active developers of projects in the LLVM Umbrella
(LLVM core, Clang, LLDB, libc++, compiler_rt, klee, lld, etc).</li>
<li>Anyone interested in using these as part of another project.</li>
<li>Students and Researchers</li>
<li>Compiler, programming language, and runtime enthusiasts.</li>
<li>Those interested in using compiler and toolchain technology in novel
and interesting ways.</li>
</ul>
<p>The LLVM Developers' Meeting strives to be the <i>best conference</i> to meet other LLVM developers and users.</p>
<p>For future announcements or questions: Please sign up for the
<a href="http://lists.llvm.org/mailman/listinfo/llvm-devmeeting"> LLVM Developers' Meeting list</a>.
</p>
<div class="www_sectiontitle" id="wictw">Women in Compilers and Tools Workshop</div>
<p>
The LLVM Foundation will host a half day Women in Compilers and Tools Workshop held the day before the 2019 LLVM Developers’ Meeting - Bay Area. The workshop will be held at the Fairmont Hotel on October 21st from 12:30-5:30PM and includes a cocktail reception.
</p>
<p>
This event aims to connect women in the field of compilers and tools and provide them with ideas and techniques to overcome barriers or enhance their careers. It also is open to anyone (not just women) who are interested in increasing diversity within the LLVM community, their workplace or university.
</p>
<p>
More details will be coming soon but <a href="https://www.eventbrite.com/e/2019-llvm-foundations-women-in-compilers-and-tools-workshop-tickets-64471042624">registration is open</a>.
</p>
<div class="www_sectiontitle" id="program">Program</div>
<p>The online schedule may be found here: <a href="https://llvmdevmtg2019.sched.com">https://llvmdevmtg2019.sched.com</a>. Bookmark this on your mobile device.</p>
<p>
<b>Keynotes</b>
<ul>
<li>
<a href="talk-abstracts.html#keynote1">
Generating Optimized Code with GlobalISel
</a> - Volkan Keles, Daniel Sanders [ <a href="https://youtu.be/8427bl_7k1g"> Video </a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/SandersKeles-GeneratingOptimizedCodewithGlobalISel.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#keynote2">
Even Better C++ Performance and Productivity: Enhancing Clang to Support Just-in-Time Compilation of Templates
</a> - Hal Finkel [ <a href="https://youtu.be/pDagqR0jAvQ"> Video </a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Finkel-EvenBetterCPlusPlusPerformance.pdf">Slides</a> ]
</li>
</ul>
<b>Technical Talks</b>
<ul>
<li>
<a href="talk-abstracts.html#tech1">
Using LLVM's portable SIMD with Zig
</a> - Shawn Landden [ <a href="https://youtu.be/CRSmOlCxHZE"> Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech2">
Code-Generation for the Arm M-profile Vector Extension
</a> - Sjoerd Meijer, Sam Parker [ <a href="https://youtu.be/TUDWpAhLjBU"> Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Meijer-Parker-CodeGenForTheArmM-ProfileVectorExt.pdf"> Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech3">
Alive2: Verifying Existing Optimizations
</a> - Nuno Lopes, John Regehr [ <a href="https://youtu.be/paJhdBp_iA4">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Lopes-Regehr-Alive2.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech4">
The clang constexpr interpreter
</a> - Nandor Licker [ <a href="https://youtu.be/LgrgYD4aibg">Videos</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech5">
Souper-Charging Peepholes with Target Machine Info
</a> - Min-Yih Hsu [ <a href="https://youtu.be/5eSOWM0upN8">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Hsu-Souper-ChargingPeepholes.pdf"> Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech6">
Transitioning the Networking Software Toolchain to Clang/LLVM
</a> - Ivan Baev, Jeremy Stenglein, Bharathi Seshadri [ <a href="https://youtu.be/0rICCQb_mRg">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech7">
Link Time Optimization For Swift
</a> - Jin Lin [ <a href="https://youtu.be/Si-fWILpORA">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech8">
Hot Cold Splitting Optimization Pass In LLVM
</a> - Aditya Kumar [ <a href="https://youtu.be/Q8rqGg6vHAE">Videos</a> ] [<a href="https://llvm.org/devmtg/2019-10/slides/Kumar-HotColdSplitting.pdf"> Slides </a> ]
</li>
<li>
<a href="talk-abstracts.html#tech9">
Making UB hurt less: security mitigations through automatic variable initialization
</a> - JF Bastien [ <a href="https://youtu.be/I-XUHPimq3o"> Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech10">
Propeller: Profile Guided Large Scale Performance Enhancing Relinker
</a> - Sriraman Tallam [ <a href="https://youtu.be/DySuXFGmB40">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech11">
From C++ for OpenCL to C++ for accelerator devices
</a> - Anastasia Stulova [ <a href="https://youtu.be/9a5gQ4wJoxs">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Stulova-Haastregt-FromCPlusPlusforOpenCL.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech12">
LLVM-Canon: Shooting for Clear Diffs
</a> - Michal Paszkowski [<a href="https://youtu.be/c9WMijSOEUg"> Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Paszkowski-LLVMCanon.pdf">Slides</> ]
</li>
<li>
<a href="talk-abstracts.html#tech13">
Better C++ debugging using Clang Modules in LLDB
</a> - Raphael Isemann [ <a href="https://youtu.be/vuNZLlHhy0k"> Video </a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech14">
Ownership SSA and Semantic SIL
</a> - Michael Gottesman [ <a href="https://youtu.be/qy3iZPHZ88o"> Video </a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech15">
arm64e: An ABI for Pointer Authentication
</a> - Ahmed Bougacha, John McCall [ <a href="https://youtu.be/C1nZvpEBfYA"> Video </a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/McCall-Bougacha-arm64e.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech16">
Porting by a 1000 Patches: Bringing Swift to Windows
</a> - Saleem Abdulrasool [ <a href="https://youtu.be/Zjlxa1NIfJc">Video</a>] [ <a href="https://llvm.org/devmtg/2019-10/slides/Abdulrasool-BringingSwiftToWindows.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech17">
The Penultimate Challange: Constructing bug reports in the Clang Static Analyzer
</a> - Kristó&oacute;f Umann [ <a href="https://youtu.be/yh2qdnJjizE">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Umann-ThePenultimateChallenge.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech18">
Address Spaces in LLVM
</a> - Matt Arsenault [ <a href="https://youtu.be/Oj1BNoL1jpM">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech19">
An MLIR Dialect for High-Level Optimization of Fortran
</a> - Eric Schweitz [ <a href="https://youtu.be/ff3ngdvUang">Video </a>] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech20">
Loop-transformation #pragmas in the front-end
</a> - Michael Kruse [ <a href="https://youtu.be/RhwjZS9PSI8">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech21">
Optimizing builds on Windows: some practical considerations
</a> - Alexandre Ganea [ <a href="https://youtu.be/usPL_DROn4k">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Ganea-OptimizingBuildesOnWindows.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech22">
LLVM-Reduce for testcase reduction
</a> - Diego Trevi&ntilde;o Ferrer [ <a href="https://youtu.be/n1jDj7J9N8c">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech23">
Memoro: Scaling an LLVM-based Heap profiler
</a> - Thierry Treyer [ <a href="https://youtu.be/fm47XsATelI">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Treyer-Memoro.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech24">
The Attributor: A Versatile Inter-procedural Fixpoint Iteration Framework
</a> - Johannes Doerfert [ <a href="https://youtu.be/CzWkc_JcfS0">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Doerfert-Attributor.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tech25">
LLVM Tutorials: How to write Beginner-Friendly, Inclusive Tutorials
</a> - Meike Baumg&auml;rtner, Dmitri Gribenko [ <a href="https://youtu.be/F_q50Th1t3A">Videos</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tech26">
Maturing an LLVM backend: Lessons learned from the RISC-V target
</a> - Alex Bradbury [<a href="https://youtu.be/hT_0HaXW_Io">Video</a> ] [ Slides ]
</li>
</ul>
<b>Tutorials</b>
<ul>
<li>
<a href="talk-abstracts.html#tut1">
Getting Started With LLVM: Basics
</a> - Jessica Paquette, Florian Hahn [ <a href="https://youtu.be/3QQuhL-dSys"> Video </a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tut2">
ASTImporter: Merging Clang ASTs
</a> - G&aacute;bor M&aacute;rton [ <a href="https://youtu.be/M9hSCNC4w2U">Videos</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tut3">
Developing the Clang Static Analyzer
</a> - Artem Dergachev [ <a href="https://youtu.be/g0Mqx1niUi0"> Video </a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Dergachev-DevelopingTheClangStaticAnalyzer.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tut4">
Writing an LLVM Pass: 101
</a> - Andrzej Warzynski [ <a href="https://youtu.be/ar7cJl2aBuU">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Warzynski-WritingAnLLVMPass.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tut5">
Writing Loop Optimizations in LLVM
</a> - Kit Barton, Ettore Tiotto, Hal Finkel, Michael Kruse, Johannes Doerfert [ <a href="https://youtu.be/3pRhvQi7Z10">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tut6">
The Attributor: A Versatile Inter-procedural Fixpoint Iteration Framework
</a> - Johannes Doerfert [ <a href="https://youtu.be/HVvvCSSLiTw">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Doerfert-Attributor.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tut7">
Getting Started with the LLVM Testing Infrastructure
</a> - Brian Homerding, Michael Kruse [ <a href="https://youtu.be/isVQ8kYqaSA">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Homerding-Kruse-LLVMTestingInfrastructureTutorial.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tut8">
An overview of Clang
</a> - Sven van Haastregt, Anastasia Stulova [ <a href="https://youtu.be/5kkMpJpIGYU"> Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/ClangTutorial-Stulova-vanHaastregt.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#tut9">
An overview of LLVM
</a> - Eric Christopher, Sanjoy Das, Johannes Doerfert [ <a href="https://youtu.be/J5xExRGaIIY">Video</a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tut10">
How to Contribute to LLVM
</a> - Chris Bieneman, Kit Barton [ <a href="https://youtu.be/C5Y977rLqpw"> Video </a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#tut11">
My First Clang Warning
</a> - Dmitri Gribenko, Meike Baumgartner [ <a href="https://youtu.be/FNnKMSkaLkY">Video</a> ] [ Slides ]
</li>
</ul>
<b>Student Research Competition</b>
<ul>
<li>
<a href="talk-abstracts.html#src1">
Cross-Translation Unit Optimization via Annotated Headers
</a> - William S. Moses [ <a href="https://youtu.be/elmio6AoyK0"> Video </a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#src2">
Quantifying Dataflow Analysis with Gradients in LLVM
</a> - Abhishek Shah [ <a href="https://youtu.be/ZqEXZp9URIY"> Video </a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Shah-QuantifyingDataflowAnalysisWithGradientsInLLVM.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#src1">
Floating Point Consistency in the Wild: A practical evaluation of how compiler optimizations affect high performance floating point code
</a> - Jack J Garzella [ <a href="https://youtu.be/5Jy3VCoft58"> Video </a> ] [ Slides ]
</li>
<li>
<a href="talk-abstracts.html#src1">
Static Analysis of OpenMP Data Mapping for Target Offloading
</a> - Prithayan Barua [ <a href="https://youtu.be/9ZPQpo8QuyI">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Barua-StaticAnalysisofOpenMPPrograms.pdf">Slides</a> ]
</li>
</ul>
<b>Panels</b>
<ul>
<li>
<a href="talk-abstracts.html#pan1">
Panel: Inter-procedural Optimization (IPO)
</a> - Teresa Johnson, Philip Reames, Chandler Carruth, Johannes Doerfert [ <a href="https://youtu.be/cC2cspQgSxM">Video</a> ]
</li>
<li>
<a href="talk-abstracts.html#pan2">
The Loop Optimization Working Group
</a> - Kit Barton, Michael Kruse, TBD [ <a href="https://youtu.be/CEVznqrzVVI">Video</a> ]
</li>
</ul>
<b>Birds of a Feather</b>
<ul>
<li>
<a href="talk-abstracts.html#bof1">
LLDB
</a> - Jonas Devlieghere
</li>
<li>
<a href="talk-abstracts.html#bof2">
Towards Better Code Generator Design and Unification for a Stack Machine
</a> - Leonid Kholodov, Dmitry Borisenkov
</li>
<li>
<a href="talk-abstracts.html#bof3">
Debug Info
</a> - Adrian Prantl
</li>
</ul>
<b>Lightning Talks</b>
<ul>
<li>
<a href="talk-abstracts.html#lit1">
GWP-ASan: Zero-Cost Detection of MEmory Safety Bugs in Production
</a> - Matt Morehouse [ <a href="https://youtu.be/RQGWMLkwrKc">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Morehouse-GWP-ASan.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit2">
When 3 Memory Models Aren’t Enough – OpenVMS on x86
</a> - John Reagan [ <a href="https://youtu.be/fiZwCLbJNSI">Videos</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/ThreeMemoryModelsNotEnough.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit3">
FileCheck: learning arithmetic
</a> - Thomas Preud'homme [ <a href="https://youtu.be/mcrQ5f-mASw">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Preudhomme-FileCheck.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit4">
-Wall Found Programming Errors and Engineering Effort to Enable Across a Large Codebase
</a> - Aditya Kumar [ <a href="https://youtu.be/Fc4Br0eNUa4">Video</a> ] [ <a href="http://llvm.org/devmtg/2019-10/slides/Kumar-WallFoundCompilationErrors.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit5">
Handling 1000s of OpenCL builtin functions in Clang
</a> - Sven van Haastregt [ <a href="https://youtu.be/LU_2aOn3Wpg">Video</a> ] [ <a href="http://llvm.org/devmtg/2019-10/slides/Gondois-HandlingOpenCLBuiltinFuncInClang.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit6">
NEC SX-Aurora as a Scalable Vector Playground
</a> - Simon Moll [ <a href="https://youtu.be/SW60DrfOuGw">Video</a> ] [ <a href="http://llvm.org/devmtg/2019-10/slides/Moll-NEC-SX-AuroraAsScalableVectorPlayground.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit7">
Implementing Machine Code Optimizations for RISC-V
</a> - Lewis Revill [ <a href="https://youtu.be/4_raNLEq2j0">Videos</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Revill-ImplementingMachineCodeOpts-RISCV.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit8">
Optimization Remarks Update
</a> - Francis Visoiu Mistrih [ <a href="https://youtu.be/AbgYN3tPaB8">Videos</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Mistrih-OptimizationRemarksUpdate.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit9">
Supporting Regular and Thin LTO with a Single LTO Bitcode Format
</a> - Matthew Voss [ <a href="https://youtu.be/uH0-e4xayNc">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Voss-SupportingRegularandThinLTO.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit10">
Transitioning Apple’s Downstream llvm-project Repositories to the Monorepo
</a> - Alex Lorenz [ <a href="https://youtu.be/azEKoCZVbzA"> Video </a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Lorenz-TransitioningAppleDownstreamRepositoriesToMonorepo.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit11">
A Unified Debug Server For Deeply Embedded Systems and LLDB
</a> - Simon Cook [ <a href="https://youtu.be/IMq3a_SSzFw">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Cook-UnifiedDebugServerforDeeplyEmbeddedSystemsandLLDB.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit12">
State of LLDB and Deeply Embedded RISC-V
</a> - Simon Cook [ <a href="https://youtu.be/37ce7gVpgIE">Videos</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Cook-StateofLLD-RISCV.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit13">
Supporting a Vendor ABI Variant in Clang
</a> - Paul Robinson [ <a href="https://youtu.be/ATOfCfM9hSg">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Robinson-SupportingVendorABIinClang.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit14">
Speculative Compilation in ORC JIT
</a> - Praveen Velliengiri [ <a href="https://youtu.be/MUyf2466PbI">Videos</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Velliengiri-SpeculativeCompilationinORC.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit15">
Optimization Remarks for Human Beings
</a> - William Bundy
</li>
<li>
<a href="talk-abstracts.html#lit16">
Improving the Optimized Debugging Experience
</a> - Orlando Cazalet-Hyams [ <a href="https://youtu.be/nZmHD9yiRz4">Video</a> ] [ <a href="http://llvm.org/devmtg/2019-10/slides/Cazalet-Hyams-ImprovingOptimizedDebuggingExperience.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit17">
Improving your TableGen Descriptions
</a> - Javed Absar [ <a href="https://youtu.be/dIEVUlsiktQ">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Absar-ImprovingYourTableGenDescription.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit18">
Loom: Weaving Instrumentation for Program Analysis
</a> - Brian Kidney [ <a href="https://youtu.be/T8qGbze3apo">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Kidney-Loom.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit19">
Clang Interface Stubs: Syntax Directed Stub Library Generation.
</a> - Puyan Lotfi [ <a href="https://youtu.be/Z7aHpWsFfSM">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Lotfi-ClangInterfaceStubs.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit20">
Flang Update
</a> - Steve Scalpone [ <a href="https://youtu.be/MqQk5VsPar4">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Scalpone-FlangUpdate.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit21">
Lowering tale: Supporting 64 bit pointers in RISCV 32 bit LLVM backend
</a> - Reshabh Sharma [ <a href="https://youtu.be/Vb4wj8aR1xI">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Sharma-Supporting64BitPointersinRISCV.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit22">
Virtual Function Elimination in LLVM
</a> - Oliver Stannard [ <a href="https://youtu.be/PtfF0BixmWA">Videos</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Stannard-DeadVirtualFunctionElimintation.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit23">
Making a Language Cross Platform: Libraries and Tooling
</a> - Gwen Mittertreiner [ <a href="https://youtu.be/bdiQM0IPMio">Video</a> ] [ <a href="http://llvm.org/devmtg/2019-10/slides/Mittertreiner-MakingALanguageCrossPlatform.pdf">Slides</a> ]
</li>
<li>
<a href="talk-abstracts.html#lit24">
Grafter - A use case to implement an embedded DSL in C++ and perform source to source traversal fusion transformation using Clang
</a> - Laith Sakka [ <a href="https://youtu.be/x0u92t_seas">Video</a> ] [ <a href="https://llvm.org/devmtg/2019-10/slides/Sakka-Grafter.pdf">Slides</a> ]
</li>
</ul>
<b>Posters</b>
<ul>
<li>
<a href="talk-abstracts.html#post1">
TON Labs Backend for TON Blockchain
</a> - Dmitry Borisenkov, Dmitry Shtukenberg, Leonid Kholodov
</li>
<li>
<a href="talk-abstracts.html#post2">
LLVM Build Times Using a Program Repository
</a> - Rusell Gallop, Phil Camp
</li>
<li>
<a href="talk-abstracts.html#post3">
RISC-V Bit Manipulation Support in the Clang/LLVM Toolchain
</a> - Scott Egerton, Paolo Savini
</li>
<li>
<a href="talk-abstracts.html#post4">
Attributor, a Framework for Interprocedural Information Deduction
</a> - Johannes Doerfert, Hideto Ueno, Stefan Stipanovic
</li>
<li>
<a href="talk-abstracts.html#post6">
Overflows Be Gone: Checked C for Memory Safety
</a> - Mandeep Singh Grang
</li>
<li>
<a href="talk-abstracts.html#src1">
Cross-Translation Unit Optimization via Annotated Headers
</a> - William S. Moses
</li>
<li>
<a href="talk-abstracts.html#src2">
Quantifying Dataflow Analysis with Gradients in LLVM
</a> - Abhishek Shah
</li>
<li>
<a href="talk-abstracts.html#src3">
Floating Point Consistency in the Wild: A practical evaluation of how compiler optimizations affect high performance floating point code
</a> - Jack J Garzella
</li>
<li>
<a href="talk-abstracts.html#src4">
Static Analysis of OpenMP Data Mapping for Target Offloading
</a> - Prithayan Barua
</li>
<li>
<a href="talk-abstracts.html#lit6">
NEC SX-Aurora as a Scalable Vector Playground
</a> - Kazuhisa Ishizaka
</li>
<li>
<a href="talk-abstracts.html#lit11">
A Unified Debug Server For Deeply Embedded Systems and LLDB
</a> - Simon Cook
</li>
<li>
<a href="talk-abstracts.html#lit14">
Speculative Compilation in ORC JIT
</a> - Praveen Velliengiri
</li>
<li>
<a href="talk-abstracts.html#lit18">
Loom: Weaving Instrumentation for Program Analysis
</a> - Brian Kidney
</li>
<li>
<a href="talk-abstracts.html#lit21">
Lowering tale: Supporting 64 bit pointers in RISCV 32 bit LLVM backend
</a> - Reshabh Sharma
</li>
</ul>
</p>
<div class="www_sectiontitle" id="round">Round Tables</div>
<p>
<a href="https://forms.gle/EaFWhzeyJK6AYHus9">Round Table Registration</a>
</p>
<p>
Round tables are informal get togethers where attendees talk about a specific subject. Each group will be given a round table and a flip chart to discuss and brainstorm ideas on a specific topic. If you are interested in organizing a round table discussion, please use the link above. </p>
<p>Round tables may be arranged during the conference, but it is better to schedule in advance so it appears ahead of time on the online schedule. During the conference we will attempt to put the topics online, but we will also list them on a flip chart outside the room where you can add it yourself.
</p>
<p>
Tuesday, Oct 22, 10:20-11:30
<ul>
<li>MLIR meets LLVM: MLIR (Multi-Level IR) has been recently accepted as a sub-project in LLVM. Let's talk about what it means, what are the opportunities for LLVM users, and future evolution for the project.</li>
<li>Well-defined C++ APIs for LLVM libraries: This Round Table is for users of the LLVM C++ APIs. We will discuss next steps for formalizing the C++ APIs within LLVM, how to reduce the number of symbols exported by LLVM shared libraries, the feasibility of a stabilizing parts of the API and other related topics. </li>
</ul>
</p>
<p>
Tuesday, Oct 22, 11:30-12:40
<ul>
<li>Discuss llvm-libc: A good number of people have expressed interest in llvm-libc during the discussion on the RFC thread. We would like to get everyone interested in this new project to get together and discuss the direction in which we would like to take it forward.</li>
<li>VPlan: Next Steps There are a number of features people are working on and we need to make sure we don't duplicate efforts and have a common understanding of the overall design.</li>
<li>sourcekit-lsp and clangd Discuss topics related to implementing the language server protocol, code indexing, editor support, build system integration, etc. in clangd and sourcekit-lsp. </li>
<li>Debug Info for optimized code: Do you want to discuss implementation details for representing optimized code debug info? Do you have a question about LiveDebugValues? Do you wonder what's up with entry values? Or do you just wonder how to make your pass debug-info invariant?</li>
</ul></p>
<p>
Tuesday, Oct 22 2:00-3:10
<ul>
</li>
<li>Flang: Discuss flang, old flang, and Fortran</li>
</ul>
</p>
<p>
Tuesday, Oct 22 3:10-4:20
<ul>
<li>Improving LLVM's buildbot instance: http://lab.llvm.org:8011/console is a mess. It has too many builders, yet is missing builders for some platforms. It's slow to load, many of the builders are perma-red, many take hours to cycle, the buildbot page itself is slow to load, etc. Can we improve this?</li>
<li>OpenMP in LLVM: Opportunity to discuss anything OpenMP related that happens under the LLVM umbrella</li>
<li>Challenges using LLVM for GPU compilation: Canonicalization vs. GPUs: Type mutation, Control flow mutation (and that graphics shaders are more sensitive to this.), Divergence/reconvergence sensitivity, Address-space awareness</li>
<li>End-to-end Testing Discussion of end-to-end testing; what kinds of tests we want; logistics</li>
<li>Security Hardening Features in clang: We will discuss the status of security hardening features in clang, (e.g. -fstack-clash-protection, -D_FORTIFY_SOURCE, and others) look at how clang compares to gcc and talk about future work in this area.</li>
<li>LLVM for Embedded Baremetal Targets: We will discuss how to build and test LLVM based toolchains that work for Baremetal targets.
</li>
</ul>
</p>
<p>Tuesday, Oct 22, 4:40-5:50
<ul>
<li>SYCL: Let's talk about SYCL -- the programming model, the open standard, the effort to add SYCL support to clang, etc.</li>
<li>Upstreaming SYCL C++: SYCL is a single-source C++ standard from Khronos Group (OpenGL, Vulkan, OpenCL, SPIR...) for heterogeneous computing targeting various accelerators (CPU, GPU, DSP, FPGA...). There are several implementations available and one has even started to be upstreamed into Clang/LLVM: https://github.com/intel/llvm
<br>
This is a huge collaborative effort and a great opportunity to have wide & strong support for modern C++ on a wide range of accelerators from many vendors. Come to learn about SYCL, how to help reviewing the patches, how it interacts with existing off-loading support, OpenMP, OpenCL, CUDA, address spaces, SPIR-V...
</li>
<li>Loop Optimizations in LLVM: Discuss current problems, progress and future plans for optimizing loops, existing passes and new passes and analysis being worked on.</li>
<li>full restrict support in llvm: Now that patches for full restrict are available, this roundtable gives a chance to discuss the design and the patches in person.</li>
</ul>
</p>
<p>
Wednesday, Oct 23 10:45-11:55
<ul>
<li>Complex Types in LLVM: A discussion on supporting native complex types in LLVM IR for performance and diagnostics.</li>
<li>Development practices to help avoid security vulnerabilities in llvm: The goal for this round table is to explore what development practices the LLVM community could consider adopting to reduce the probability of security vulnerabilities in some or all of its components.Let's get together at this round table to discuss which development practices - and to which degree - could be good to adopt for which LLVM components. A few examples that could kick off the discussion are:
• Using static analyzers.
• Using code standard checkers (e.g. clang-tidy -checks=cert-*,bugprone-*,llvm-*).
• Using fuzzers more extensively (oss-fuzz does fuzzing on some LLVM components, but do bug reports get reacted on?).
• Requiring full code coverage by unit tests on code that is newly added.
• Making certain build options on by default (e.g. stack protection).
Many of these techniques require buy-in from the whole community to get accepted - a round-table discussion is hopefully a first step towards understanding cost/benefit tradeoffs.</li>
<li>CMake in LLVM: Discuss the current state of CMake and future areas for improvement.</li>
</ul>
</p>
<p>
Wednesday, Oct 23 11:55-12:30
<ul>
<li>Interpreting C++: "C++ JITs and REPLs are useful in number of areas such as education and science. The LLDB's expression evaluator, Cling and ClangJIT are based on Clang and its incremental processing facility. The C++ interpreters target to solve different sets of issues, however they share common requirements.
<br>
We would like to use the round table to discuss common requirements when interpreting C++. We would like to invite developers and users interested in interpreting C++. We would like to discuss a possible way forward for implementing JIT and REPL support infrastructure in Clang and LLVM."
</li>
<li>LLVM Releases: Discuss the current release process and possible areas for improvement. </li>
<li>Vector Predication: Support for predicated SIMD/vector in LLVM is lacking. At this table, we are discussing concrete steps to change that. </li>
</ul>
</p>
<p>
Wednesday, Oct 23 1:45-2:55
<ul>
<li>Floating point: Discussions related to FENV_ACCESS support, fast math, FMA, complex, etc.</li>
<li>ClangBuiltLinux: Building the Linux kernel with Clang and LLVM utils</li>
</ul>
</p>
<p>
Wednesday, Oct 23 2:55-4:00
<ul>
<li>GitHub Next-step: bug-tracker (GitHub issues?) & workflows (pre-merge testing, pull-request, etc.): "We're almost on GitHub! It is a good opportunity to brainstorm on possible evolutions of the workflow and the infrastructure. There are opportunities around being able to run builds and test on code before pushing, and the possibility of using pull-requests either for the purpose of pre-merge testing or for code reviews!
Also is bugzilla still providing what we want to track issues? Should we consider GitHub issues? Are there other options?"</li>
<li>ASTImporter: Discuss future work and direction of ASTImporter</li>
<li>State of the GN build: LLVM's GN build is an (unsupported!) faster alternative to the CMake build. Try it out, learn about the current state, wallow in build system arcana.</li>
<li>Clang Static Analyzer: Let's talk about where we are and how we want to move forward with the Static Analyzer.</li>
</ul>
</p>
<p>
Wednesday, Oct 23 5:00-5:35
<ul>
<li>GSoC: LLVM Google Summer of Code: organization, ideas, projects, etc.</li>
<li>Scalable Vector Extension: Discuss current progress and forward plans for both SVE and RiscV implementations, focusing on agreed IR representations more than looking at each back-end independently.</li>
</ul>
</p>
<p>
Wednesday, Oct 23 5:35-6:10
<ul>
</ul>
</p>
<div class="www_sectiontitle" id="grant">Travel Grants for Students</div>
<p>The LLVM Foundation sponsors student travel to attend the LLVM Developers'
Meeting. Travel grants cover some or all of travel related expenses. This
program is open to full time undergraduate and graduate students.</p>
<p>To apply for a travel grant, please fill out this form by <a href="https://forms.gle/7U45a9imW6SYXkUL8">August 16th.</a> </p>
<div class="www_sectiontitle" id="logistics">Logistics</div>
<p>
We have reserved a block of rooms at the <a href="https://www.fairmont.com/san-jose/">Fairmont</a> a block away from the San Jose convention center at a $309.00/night rate. Please use this <a href="https://book.passkey.com/go/llvmfoundationdevelopers19">link</a> for your reservation. Guest rooms will be available on a first come, first serve basis until October 1, 2019.
</p>
<div class="www_sectiontitle" id="coc">Code of Conduct</div>
<p>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 <a href="http://llvm.org/docs/CodeOfConduct.html">LLVM Code of Conduct</a>.
</p>
<div class="www_sectiontitle" id="contact">Contact</div>
<p>To contact the organizer,
<a href="mailto:tanyalattner@llvm.org"> email Tanya Lattner</a>
</p>
</div>
<!-- *********************************************************************** -->
<!--#include virtual="sponsors.incl" -->
<hr>
<!--#include virtual="../../footer.incl" -->