LLVM teaching materials

Hi everyone

I am teaching a lecture on hardware/software codesign which, though not a dedicated compiler course, covers quite a bit of compiler related contents (general introduction, intermediate code, code generation).

I'm currently considering replacing and/or extending this compiler related lecture parts with an introduction to LLVM as an example for a modern compiler framework, which we are also using extensively in our research.

Does anybody know of good teaching materials on LLVM? For example, a basic compiler course that use LLVM as a example? I searched the web a bit but didn't find anything suitable.

Cheers,
  Christian

I put some slides I used on my webpage.

You can use them. However, they are just a bunch and only about specific topics. No general compiler introduction. Furthermore, we did have a lot of interactive discussions, so without having attended the class they may be difficult to understand.

It would be great to create a svn branch to share slides for such a course.

Cheers
Tobi

Hi Tobi

Does anybody know of good teaching materials on LLVM? For example, a basic compiler course that use LLVM as a example? I searched the web a bit but didn't find anything suitable.

I put some slides I used on my webpage.

http://www.grosser.es

You can use them. However, they are just a bunch and only about specific
topics. No general compiler introduction. Furthermore, we did have a lot
of interactive discussions, so without having attended the class they
may be difficult to understand.

Thanks for sharing these slides. Though not exactly what I was looking for it is a good inspiration for my own slides.

It would be great to create a svn branch to share slides for such a course.

I fully agree. Such slides would be useful for teaching LLVM to other but also for people that want to learn LLVM themselves. Recently AMD has published teaching materials for OpenCL (http://developer.amd.com/zones/openclzone/universities/pages/default.aspx). I think something similar for LLVM would be very helpful.

Cheers,
Christian

Hi everyone

I am teaching a lecture on hardware/software codesign which, though not a dedicated compiler course, covers quite a bit of compiler related contents (general introduction, intermediate code, code generation).

I'm currently considering replacing and/or extending this compiler related lecture parts with an introduction to LLVM as an example for a modern compiler framework, which we are also using extensively in our research.

Does anybody know of good teaching materials on LLVM? For example, a basic compiler course that use LLVM as a example? I searched the web a bit but didn't find anything suitable.

Cheers,
  Christian

I put some slides I used on my webpage.

http://www.grosser.es

You can use them. However, they are just a bunch and only about specific
topics. No general compiler introduction. Furthermore, we did have a lot
of interactive discussions, so without having attended the class they
may be difficult to understand.

Thanks, your slides have been helpful. For my course, I came up with the following set of slides for a basic introduction to LLVM.

http://homepages.uni-paderborn.de/plessl/lectures/2011-Codesign/slides/02-Compiler-LLVM.pdf

Anyone is welcome to use these slides.

It would be great to create a svn branch to share slides for such a course.

Definitely. Such teaching materials would be very useful.

Cheers,
Christian

Hi everyone

I am teaching a lecture on hardware/software codesign which, though not a dedicated compiler course, covers quite a bit of compiler related contents (general introduction, intermediate code, code generation).

I'm currently considering replacing and/or extending this compiler related lecture parts with an introduction to LLVM as an example for a modern compiler framework, which we are also using extensively in our research.

Does anybody know of good teaching materials on LLVM? For example, a basic compiler course that use LLVM as a example? I searched the web a bit but didn't find anything suitable.

Cheers,
   Christian

I put some slides I used on my webpage.

http://www.grosser.es

You can use them. However, they are just a bunch and only about specific
topics. No general compiler introduction. Furthermore, we did have a lot
of interactive discussions, so without having attended the class they
may be difficult to understand.

Thanks, your slides have been helpful. For my course, I came up with the following set of slides for a basic introduction to LLVM.

http://homepages.uni-paderborn.de/plessl/lectures/2011-Codesign/slides/02-Compiler-LLVM.pdf

Anyone is welcome to use these slides.

Hey Christian,

thanks for letting us know. I really like your slides and I am tempted to steal quite a bit, if I talk about LLVM the next time. :wink:

One minor suggestion. You use dotty to show the CFG. I did this a long time and now moved to xdot.py [1]. I like it a lot better. If you put it in your path at least the cmake build of LLVM will automatically use it. (It needs to be in the path, before you run the configure)

Cheers
Tobi

[1]http://code.google.com/p/jrfonseca/wiki/XDot