This is an old revision of the document!


The LLVM Compiler Infrastructure

When and where

  • Time 14 July 2014 - 18 July 2014, 18:00
  • Place TODO

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 analysis tools and so on.

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

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

Registration

Registration is open until Sunday, 28 June 2014. Please fill in this form.

sesiuni/compiler.1401883799.txt.gz · Last modified: 2014/06/04 15:09 by freescale