The LLVM Compiler Infrastructure
Site Map:
Download!
Download now: LLVM 2.7

Try the
online demo

View the open-source
license

Search this Site


Useful Links
Status Updates
Developer Mtgs
Maintained by:
Chris Lattner
LLVM Users

This page lists the people and organizations that have used or are currently using LLVM in research, education, industry, or open source development. It only includes users who have publicly discussed their use of LLVM in one form or another (mentioned it on llvmdev, published work on it, etc.). We believe there are many other users not listed here and would welcome a brief note telling us about your use so that we can add you to the list.

This page has only brief entries. Some of these projects are described in more detail on the "Projects Using LLVM" page.

LLVM Distributions
Industry Users

Company Description
Adobe Systems Incorporated Optimizer and JIT codegen for the Hydra Language.
Adobe Systems Incorporated Alchemy C/C++ Compiler for the ActionScript Virtual Machine (AVM2). See the FAQ and Scott Petersen's DevMtg talk for more details.
Adobe Systems Incorporated ActionScript 3 Ahead-of-Time (AOT) Compiler for iPhone software development. See Aditya Bansod's blog entry and this video for more details.
Ageia Technologies Optimizer and back end for custom processor
Apple Inc. Mac OS X 10.4 (and later): Uses the LLVM JIT for optimizing many parts of the OpenGL pipeline, including emulating vertex/pixel shaders when hardware support is missing, performing texture format conversion before uploading to the GPU, efficiently packing GPU buffers for vertex submission, and many others.

Xcode 3.1 (and later): llvm-gcc 4.2 compiler is now available for use in Xcode or from the command line. It supports PPC32/X86-32/X86-64 and includes transparent LTO integration.

Mac OS X 10.6 (and later): The OpenCL GPGPU implementation is built on Clang and LLVM compiler technology. This requires parsing an extended dialect of C at runtime and JIT compiling it to run on the CPU, GPU, or both at the same time. In addition, several performance sensitive pieces of Mac OS X 10.6 were built with llvm-gcc such as OpenSSL and Hotspot. Finally, the compiler_rt library has replaced libgcc and is now a part of libsystem.dylib.

Xcode 3.2 (and later): Clang is now included as a production quality C and Objective-C compiler that is available for use in Xcode or from the command line. It supports X86-32/X86-64 and builds code 2-3x faster than GCC in "-O0 -g" mode. Many "developer tools" GUI apps were shipped built with Clang, including Xcode, Interface Builder, Automator, and several others.

Xcode 3.2 (and later): The Xcode Static Analyzer is built on the Clang static analyzer, and allows Xcode users easy access to the Clang Static Analyzer as well as a first class user interface to dig through and visualize results.

Ascenium Compiler for reconfigurable processor
AutoESL Design Technologies, Inc. Electronic System Level (ESL) to Silicon
C-to-Verilog Compiler from C into the Verilog hardware description language. Automates circuit design.
MTC Group Ltd. Morpher - compiler-driven obfuscation solution for C/C++/ObjC/ObjC++. Protection against reverse engineering, cracking and tampering.
Cray Inc. Backend for the Cray x86 compiler, available on the Cray XT5 and later machines.
Electronic Arts Experimental backend for custom language implementation
Hue AS JIT compilation of shader programs
Mobileye Compiler for stack machine architecture
National Instruments Compiler for LabView 2010
NVIDIA OpenCL runtime compiler (Clang + LLVM)
Rapidmind Compiler platform for their GPGPU, multicore CPU, and OpenCL runtime platforms.
REAL Software Optimizer and code generator for RBScript and REAL Studio compiler.
Siemens Technology-to-Business Center Compiler for embedded VLIW processor
Sun Microsystems Laboratories Parfait: Bug checker of C code
XMOS Technology Backend port for their architecture, also working on multicore codegen support.

Open Source Projects

Project Description
Objective Modula-2 Project Modula-2 compiler w/ObjC runtime support. Targets Objective-C and LLVM.
IcedTea Version of Sun's OpenJDK Uses LLVM as JIT on architectures other than x86 and Sparc.
PyPy Project Python interpreter written in Python. Targets LLVM and C.
Faust Signal Processing Language Signal processing language, uses the LLVM JIT for runtime codegen.
iPhone tool chain llvm-gcc Compiler for iPhone Dev Wiki toolchain.
IOQuake3 IOQuake3 Raytracing Patch, uses LLVM for runtime shader compilation.
llvm-py: Python Bindings for LLVM Build compilers and VMs in Python, using the LLVM Backend.
LLVM D Compiler D compiler with LLVM backend.
Unladen Swallow A faster implementation of Python.
Mono Mono has an option to use LLVM for JIT compilation.
Rubinius Ruby Environment.
MacRuby Ruby Implementation for Mac OS X.
Pure Term rewriting algebraic/functional programming language.
Roadsend PHP PHP implementation.
LLVM-Lua JIT and static compilation support for the Lua VM.

Academic Research Users

Organization People Description
Åbo Akademi University Johan Lilius's Research Group, ES Lab NECST project
Brigham Young University David Penry's Research Group Microarchitectural Simulator Partitioning and Synthesis
Adaptive Online Parallel Optimization
Carnegie Mellon University David Koes Principled Compilation
Ecole Polytechnique Fédérale de Lausanne George Candea's Research Group
ETH Zurich Thomas Lenherr Language-independent library for alias analysis
Ghent University Kenneth Hoste Instrumentation of software
GH-SEL, INTEC, Ghent University Bram Adams Aspect weaver for an AOP-language for C called Aspicere2
New York University Anna Zaks Validation of interprocedural optimizations
Rice University Keith Cooper's Research Group
Stanford University Dawson Engler's Research Group KLEE Symbolic Virtual Machine
Tampere University of Technology Jarmo Takala's research group, Department of Computer Systems The TTA Based Codesign Environment (TCE) project
University of California, San Diego Michael McCracken LENS Framework
University of California, Irvine Samar Abdi, Dan Gajski Embedded System Environment project
University of California, Los Angeles Jason Cong xPilot behavioral synthesis system
University of California, Los Angeles Jens Palsberg
University of Illinois at Urbana-Champaign Vikram Adve's Research Group All LLVM Group Research Projects
University of Illinois at Urbana-Champaign Ravi Iyer's Research Group Runtime monitoring for software reliability
University of Illinois at Urbana-Champaign Maria Garzaran's Research Group Automatic replication for software reliability
University of Illinois at Urbana-Champaign Sanjay Patel's Research Group Microarchitecture research
The University of Kansas Wesley Peck MicroBlaze backend for use on Xilinx FPGAs
The University of Pennsylvania Santosh Nagarakatte, Jianzhou Zhao, Milo M K Martin, and Steve Zdancewic SoftBound
University of Texas at Austin Calvin Lin's Research Group Turnkey Pointer Analysis

Educational Users

Valid CSS! Valid HTML 4.01!
LLVM Development List
Last modified: $Date: 2009/11/12 00:35:12 $