LLVM Start

I am a computer science student new to LLVM compiler infrastructure. Please guide me where to start from to learn LLVM in the most effective way.
Siddharth Shankar Swain

Hi Siddharth,

It is better to ask more specific questions on the dev mailing list. LLVM is a large project with many technology areas and the advice to someone interested in starting in front end development would be different from advice to someone interested in optimizations or a specific back end. If you state your interests, it is more likely that people will offer great advice.

As a general bit of advice, you can do a couple of things:

  1. Go through the tutorials (http://llvm.org/docs/tutorial/index.html)

  2. Look for a bug that is related to what you’re interested in and try to fix it. Find bugs here: https://llvm.org/bugs/describecomponents.cgi. Once you start investigating the bug, you can ask very directed questions both on the mailing list and on IRC where there are always helpful people around.

Hope this helps.

I’ve learned a lot lurking in this mailing list and reading this text:



If you could be more specific about what you use LLVM for, the mailing list may be helping you more. Do you use it as a C/C++ compiler, a source analysis/instrumentation framework or something else for your research?

For starters I found the following sources to be quite helpful:

http://llvm.org/docs/ - The documents of LLVM, covering all important aspects of the LLVM umbrella project.

http://llvm.org/docs/LangRef.html - The reference for LLVM IR.
http://llvm.org/docs/WritingAnLLVMPass.html - Getting started on an LLVM IR pass.
http://blog.regehr.org/archives/1453 - Intro on the source code layout of LLVM.
https://www.cs.cornell.edu/~asampson/blog/llvm.html - A Grad Student’s Guide to LLVM. By far the most thorough and detailed blog guide to LLVM I’ve seen.