Session
The LLVM Compiler System
Chris Lattner, LLVM Head Honcho, Apple Inc.
Track: Programming
Date: Friday, July 27
Time: 10:45am
- 11:30am
Location: Portland 255
LLVM is a suite of carefully designed open source libraries that implement compiler components (like language front-ends, code generators, aggressive optimizers, Just-In-Time compiler support, debug support, link-time optimization, etc.). The goal of the LLVM project is to build these components in a way that allows them to be combined together to create familiar tools (like a C compiler), interesting new tools (like an OpenGL JIT compiler), and many other things we haven't thought of yet. Because LLVM is under continuous development, clients of these components naturally benefit from improvements in the libraries.
This talk gives an overview of LLVM's architecture, design, and philosophy, and gives a high-level overview of the various components that are available. It then describes some example clients--LLVM's GCC-based C/C++/Objective-C compiler, the OpenGL stack in Mac OS/X Leopard, and the PyPy project (a Python implementation)--describing some of the novel capabilities that LLVM contributes to these projects. Finally, Lattner will briefly describe how to use LLVM to build a JIT compiler for a dynamic language like Python, Ruby, or Javascript.





















