The LLVM compiler infrastructure project is a set of compiler and toolchain technologies, which can be used to develop a front end for any programming language and a back end for any instruction set architecture. LLVM is designed around a language-independent intermediate representation (IR) that serves as a portable, high-level assembly language that can be optimized with a variety of transformations over multiple passes.

Installation edit


Main Components edit

LLVM contains a list components

OpenMP support edit

see more at OpenMP Support

With the release of Clang 3.8.0, OpenMP 3.1 support is enabled in Clang by default, and the OpenMP runtime is therefore built as a normal part of the Clang build, and distributed with the binary distributions. You do not, therefore, need explicitly to check out this code, or build it out of tree; a normal Clang check out and build will automatically include building these runtime libraries.


ninja install -j8 -l8

Development Support edit

Code review of LLVM is handled by Phabricator Regression tests are run by Buildbot using test suite under .

LLVM uses Buildbot to run some regression tests.

Their website has JSON API:

Take the OpenMP testing’s API results as an example

This get request will get a json file, with links to each step’s logs among other information. You check the log files from the links to see the command lines used. For example: here is the log file for the configuring step: