LLVM Tutorial: Table of Contents

1. An Introduction to LLVM: Basic Concepts and Design
2. Simple JIT Tutorials
   1. A First Function
   2. A More Complicated Function
   3. Running Optimizations
   4. Reading and Writing Bitcode
   5. Invoking the JIT
3. Implementing a language with LLVM: Kaleidoscope
   1. The basic language, with its lexer
   2. Implementing a Parser and AST
   3. Implementing Code Generation to LLVM IR
   4. Adding JIT and Optimizer Support
   5. Extending the language: control flow
   6. Extending the language: operator overloading
   7. Extending the language: mutable variables
   8. Thoughts and ideas for extensions
4. Advanced Topics
   1. Writing an Optimization for LLVM