This is an old revision of the document!

The LLVM Compiler Infrastructure

When and where

  • Time 14 July 2014 - 18 July 2014, 18:00-21:00
  • Place EG306


LLVM is an open-source compiler infrastructure used in many commercial and academic projects . It is written in C++ and it has a very modular design which allows all sorts of tools to be built on top of it: compilers, interpreters, static analyzers and so on.

We intend to introduce you to the world of compilers and related tools by using LLVM as a case study.

At the end of this workshop, you will know:

  • How compilers in general work
  • How to write compiler-based tools using LLVM's libraries
  • What kind of optimizations to expect from a compiler
  • How to write better C code


The phases of the compilation process

  • Learn what steps the compiler takes in order to translate high level code into machine code

The general structure of LLVM

  • See how LLVM is organized and why

Compiler-based tools

  • Learn how to use various parts of LLVM in order to implement or support tools such as source-to-source translators or editors with syntax highlighting

C tips & tricks

  • Look at what the compiler generates for various snippets of code and see how different constructs help or hinder the compiler


  • Good knowledge of C/C++


Registration is open until Sunday, 28 June 2014.

Please fill in this form.

Required software

The required software will be installed on the stations in the lab, but in case you want to bring your laptop you should try to install the following:

  • LLVM (you can use the instructions here - note that you can generate files for several IDEs using CMake)
  • An IDE is recommended <note warning>Note that this list is subject to additions as more content is added to this page</note>


Diana Vasile

Bogdan Dițu

Rene Pălălău

sesiuni/compiler.1401885443.txt.gz · Last modified: 2014/06/04 15:37 by mbarbulescu