A toolchain and compiler used to create:

  • Programming language frontends
  • Instruction set backends It is used in Clang

Process

  1. Create a Lexer to turn raw source-code text into LLVM Tokens
  2. Define an AST to represent code structure and token relations using LLVM API
  3. Create a Parser to loop over each token and fill out the AST
  4. Import LLVM API primatives
  5. Use the opt tool to optimize and generate IR
  6. Write an LLVM Module that takes IR as input and returns executable object code

Bibliography Pages

Concepts

Documentation

Guides