Skip to content

Intro to the LLVM IR and middle-end

Photo of Roberto Castañeda Lozano
Hosted By
Roberto Castañeda L. and 3 others
Intro to the LLVM IR and middle-end

Details

PLEASE come prepared! See instructions below in the "What to bring" and "What to install on your laptop" sections. The setup takes a while, so please do it before the workshop. Thanks!

• What we'll do
This is a Meetup for those that want to get started with the LLVM optimizer.

We're going to have a short introductory talk about LLVM followed by a hacking lab where you will learn how to write and debug an LLVM pass.

We assume some high-level knowledge about compilers, but we'll describe the LLVM IR as well as any APIs that will be useful for the hacking lab. Keep in mind that LLVM can be used for many things other than just compiling code!

• What to bring
Please bring your own laptop for the hacking lab. See installation details below for the setup that you will need for the workshop.

Food and beverages will be provided courtesy of KTH School of Information and Communication Technology. Please let us know if you have any food restrictions.

• What to install on your laptop
Prior to the workshop, you should get this VM working on your laptop: https://goo.gl/QzZxbd

PLEASE do this before the workshop, since downloading and decompressing the VM can take a long time! The VM has 2GB compressed and 10.6GB uncompressed. It has vim and emacs installed, but feel free to install other editors if you prefer.

Using the VM is strongly recommended, but if you prefer to work in your own environment, you can reproduce the setup on the VM by following these instructions: https://goo.gl/ZdSVhp. We don't recommend doing this on Windows or Mac - although LLVM can build just fine there, we have not tested the code skeleton / CMake files there and there are many things that will likely not work. You should also know that building LLVM can take a significant amount of time and resources.

Photo of LLVM / Clang Sweden socials group
LLVM / Clang Sweden socials
See more events