Skip to the content
  • "The more that you read, the more things you will know. The more that you learn, the more places you'll go." - Dr. Seuss
Get Started
Imagine
Digital Landscapes for your personal wonder
  • About
  • Blog
  • CS Knowledge Base
  • Ebooks
  • Embed Link
  • Home
  • Imagine Blog
  • Links
  • OmniVision
  • About
  • Blog
  • CS Knowledge Base
  • Ebooks
  • Embed Link
  • Home
  • Imagine Blog
  • Links
  • OmniVision

CS Knowledge Base

  • Home
  • CS Knowledge Base
LLVM Logo

Navigation

  • index
  • next |
  • previous |
  • LLVM Home | 
  • Documentation»
  • Getting Started/Tutorials »
  • LLVM Tutorial: Table of Contents

Documentation

  • Getting Started/Tutorials
  • User Guides
  • Reference

Getting Involved

  • Contributing to LLVM
  • Submitting Bug Reports
  • Mailing Lists
  • Discord
  • Meetups and Social Events

Additional Links

  • FAQ
  • Glossary
  • Publications
  • Github Repository

This Page

  • Show Source

Quick search

LLVM Tutorial: Table of Contents¶

Kaleidoscope: Implementing a Language with LLVM¶

My First Language Frontend with LLVM Tutorial

This is the “Kaleidoscope” Language tutorial, showing how to implement a simple language using LLVM components in C++.

  • 1. Kaleidoscope: Kaleidoscope Introduction and the Lexer
  • 2. Kaleidoscope: Implementing a Parser and AST
  • 3. Kaleidoscope: Code generation to LLVM IR
  • 4. Kaleidoscope: Adding JIT and Optimizer Support
  • 5. Kaleidoscope: Extending the Language: Control Flow
  • 6. Kaleidoscope: Extending the Language: User-defined Operators
  • 7. Kaleidoscope: Extending the Language: Mutable Variables
  • 8. Kaleidoscope: Compiling to Object Code
  • 9. Kaleidoscope: Adding Debug Information
  • 10. Kaleidoscope: Conclusion and other useful LLVM tidbits

Building a JIT in LLVM¶

  • 1. Building a JIT: Starting out with KaleidoscopeJIT
  • 2. Building a JIT: Adding Optimizations – An introduction to ORC Layers
  • 3. Building a JIT: Per-function Lazy Compilation
  • 4. Building a JIT: Extreme Laziness - Using LazyReexports to JIT from ASTs

External Tutorials¶

Tutorial: Creating an LLVM Backend for the Cpu0 Architecture

A step-by-step tutorial for developing an LLVM backend. Under active development at https://github.com/Jonathan2251/lbd (please contribute!).

Howto: Implementing LLVM Integrated Assembler

A simple guide for how to implement an LLVM integrated assembler for an architecture.

Advanced Topics¶

  1. Writing an Optimization for LLVM

Navigation

  • index
  • next |
  • previous |
  • LLVM Home | 
  • Documentation»
  • Getting Started/Tutorials »
  • LLVM Tutorial: Table of Contents
© Copyright 2003-2026, LLVM Project. Last updated on 2026-06-30. Created using Sphinx 7.2.6.

Search

Recent Posts

  • Digital Art by Dasha K.
  • Music Lab: Jam Session by Simon S.
  • AP Computer Science Principles A – Slide Decks
  • What determines our intelligence
  • The Learning Zone

Archives

  • September 2025
  • July 2025
  • June 2025

Quick contact info

Lorem ipsum dolor sit amet, the administration of justice, I may hear, finally, be expanded on, say, a certain pro cu neglegentur. Mazim.Unusual or something.

2130 Fulton Street, San Francisco
support@test.com
+(15) 94117-1080

Categories

  • Artificial Intelligence
  • CodeHS
  • Computer Science
  • Digital Art
  • Education
  • Growth Mindset
  • Java
  • micro:bit
  • Minecraft Education
  • Python
  • Uncategorized
  • What Mr. Goldstein is currently working on
  • WordPress

Archives

  • September 2025
  • July 2025
  • June 2025
Copyright © 2025 | Powered by WordPress | formula theme by A WP Life