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//

Introduction

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

Topics

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

Prerequisites

  • Good knowledge of C/C++

Registration

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>

Organizers

Diana Vasile

Bogdan Dițu

Rene Pălălău

sesiuni/compiler.1404645081.txt.gz · Last modified: 2014/07/06 14:11 by mbarbulescu