Like last year's inaugural meeting, the meeting serves as a forum for both LLVM developers and users to get acquainted, to learn how LLVM is used, and to exchange ideas about LLVM and its (potential) applications.
The following talks have been selected:
Adobe Image Foundation and Adobe PixelBender: Our Usage of LLVM
Chuck Rose III, Adobe
Scott Michel, Aerospace
Steve Naroff, Apple
CodeGen Overview and Focus on SelectionDAGs
Dan Gohman, Apple
Finding Bugs with Source Code Analysis
Ted Kremenek, Apple
Building an Efficient JIT with LLVM
Nate Begeman, Apple
llvm2c - New LLVM Compiler Driver
Anton Korobeynikov, Saint Petersburg State University.
LLVM Hardware Backend with HW/SW Codesign Toolchain
Tim Sander, University Darmstadt
Evan Cheng, Apple
Targeting the Adobe Flash Virtual Machine with LLVM
Scott Peterson, Adobe
The VMKit Project - Building a JVM and .Net implementation on top of LLVM
Nicolas Geoffray, University of Pierre et Marie Curie, France
Building a JIT compiler for PHP in 2 days
Nuno Lopes, Instituto Superior Tecnico
SVA: Using LLVM to Provide Memory Safety for the Entire Software Stack
John Criswell, University of Illinois at Urbana-Champaign
We also invite you to sign up for the official Developer Meeting mailing list to be kept informed of updates concerning the meeting:
Last year's inaugural meeting was a success for LLVM and the LLVM community at large. We fully expect that this year's meeting will be an even greater success. Please join us!
The Low-Level Virtual Machine (LLVM) is a collection of libraries and tools that make it easy to build compilers, optimizers, Just-In-Time code generators, and many other compiler-related programs. LLVM uses a single, language-independent virtual instruction set both as an offline code representation (to communicate code between compiler phases and to run-time systems) and as the compiler internal representation (to analyze and transform programs). This persistent code representation allows a common set of sophisticated compiler techniques to be applied at compile-time, link-time, install-time, run-time, or "idle-time" (between program runs).
The strengths of the LLVM infrastructure are its extremely simple design (which makes it easy to understand and use), source-language independence, powerful mid-level optimizer, automated compiler debugging support, extensibility, and its stability and reliability. LLVM is currently being used to host a wide variety of academic research projects and commercial projects.
Clang is a new frontend for C-based languages, targeting support for C, Objective-C, and C++.
Like the rest of LLVM, Clang consists of a collection of libraries, making it versatile in its applications. The goal of Clang is to be multipurpose, allowing not only the creation of standalone compilers for C-based languages, but also intelligent IDEs, refactoring tools, source to source translators, static analysis tools, and countless others. Other design goals of Clang include 100% compatibility with GCC and a high quality of implementation that makes Clang fast, scalable, and easy to customize and expand.
Clang was announced at last year's Developer Meeting. This year's meeting will include an extensive discussion of Clang and its applications (both currently existing and planned).