# LLVM Tutorial: Table of Contents

## Kaleidoscope: Implementing a Language with LLVM

```{toctree}
:hidden:

MyFirstLanguageFrontend/index
```

{doc}`MyFirstLanguageFrontend/index`

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

```{toctree}
:glob:
:numbered:
:titlesonly:

MyFirstLanguageFrontend/LangImpl*
```

## Building a JIT in LLVM

```{toctree}
:glob:
:numbered:
:titlesonly:

BuildingAJIT*
```

## External Tutorials

[Tutorial: Creating an LLVM Backend for the Cpu0 Architecture](http://jonathan2251.github.io/lbd/)

: A step-by-step tutorial for developing an LLVM backend. Under
  active development at [https://github.com/Jonathan2251/lbd](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](https://llvm.org/pubs/2004-09-22-LCPCLLVMTutorial.html)

[howto: implementing llvm integrated assembler]: http://www.embecosm.com/appnotes/ean10/ean10-howto-llvmas-1.0.html

