For full conference details, see the website: http://llvm.org/devmtg/2019-10/

Sign up or log in to bookmark your favorites and sync them to your phone or calendar.

Keynote [clear filter]
Tuesday, October 22


Generating Optimized Code with GlobalISel
So far, much of the focus of GlobalISel development has been on supporting targets with minimal optimization work. Recently, attention has turned towards optimization and bringing it to the point where it can take over from SelectionDAGISel. In this talk, we'll mainly focus on the combiner which is a key component of producing optimized code with GlobalISel. We'll talk about the overall design of the combiner, the components that support it, how it fits with the rest of GlobalISel, how to test it, and how to debug it. We'll also talk about the current and future work on the combiner to enhance it beyond SelectionDAGISel’s capabilities.


Daniel Sanders

Compiler Engineer, Apple

Tuesday October 22, 2019 9:15am - 10:00am
General Session (LL20ABC)
Wednesday, October 23


Even Better C++ Performance and Productivity: Enhancing Clang to Support Just-in-Time Compilation of Templates
Just-in-time (JIT) compilation can take advantage of information only known once an application starts running in order to produce very-high-performance code. LLVM is well known for supporting JIT compilation, and moreover, Clang, LLVM's best-in-class C++ frontend, enables the highly-optimized compilation of C++ code. Clang, however, uses purely an ahead-of-time compilation model, and so we leave on the table performance which might come from dynamic specialization.
In this talk, I'll describe ClangJIT, an enhancement to Clang, and an extension to the C++ language, which brings JIT-compilation capabilities to the C++ ecosystem. Critically, ClangJIT enables the dynamic, incremental creation of new template instantiations. This can provide important performance benefits, and in addition, can decrease overall application compile times. I'll describe how Clang was enhanced to support this feature - what I needed to do to turn Clang into an incremental C++ compilation library - and how LLVM's JIT infrastructure was leveraged. ClangJIT supports Clang's CUDA mode, and how that works will be described. Some application use cases will be highlighted and I'll discuss some future directions.

avatar for Hal Finkel

Hal Finkel

Argonne National Laboratory

Wednesday October 23, 2019 9:00am - 9:45am
General Session (LL20ABC)