LLVM Tutorial: Table of Contents 
  - An Introduction to LLVM: Basic Concepts and Design
 
  - Simple JIT Tutorials
    
      - A First Function
 
      - A More Complicated Function
 
      - Running Optimizations
 
      - Reading and Writing Bitcode
 
      - Invoking the JIT
 
    
   
  - Kaleidoscope: Implementing a Language with LLVM
  
    - Tutorial Introduction and the Lexer
 
    - Implementing a Parser and AST
 
    - Implementing Code Generation to LLVM IR
 
    - Adding JIT and Optimizer Support
 
    - Extending the language: control flow
 
    - Extending the language: user-defined operators
 
    - Extending the language: mutable variables / SSA construction
 
    - Conclusion and other useful LLVM tidbits
 
  
 
  - Kaleidoscope: Implementing a Language with LLVM in Objective Caml
  
    - Tutorial Introduction and the Lexer
 
    - Implementing a Parser and AST
 
    - Implementing Code Generation to LLVM IR
 
    - Adding JIT and Optimizer Support
 
    - Extending the language: control flow
 
    - Extending the language: user-defined operators
 
    - Extending the language: mutable variables / SSA construction
 
    - Conclusion and other useful LLVM tidbits
 
  
 
  - Advanced Topics
  
    - Writing
        an Optimization for LLVM