User Guides

NOTE: If you are a user who is only interested in using an LLVM-based compiler, you should look into Clang instead. The documentation here is intended for users who have a need to work with the intermediate LLVM representation.

Clang

LLVM Builds and Distributions

Optimizations

Code Generation

  • Writing an LLVM Backend

    Information on how to write LLVM backends for machine targets.

  • The LLVM Target-Independent Code Generator

    The design and implementation of the LLVM code generator. Useful if you are working on retargetting LLVM to a new architecture, designing a new codegen pass, or enhancing existing components.

  • TableGen

    Describes the TableGen tool, which is used heavily by the LLVM code generator.

GlobalISel

  • MIRPatterns

    Describes the design of MIR Patterns and how to use them.

JIT

Additional Topics