LLVM Programmer's Manual
  1. Introduction
  2. General Information
  3. Important and useful LLVM APIs
  4. Helpful Hints for Common Operations
  5. The Core LLVM Class Hierarchy Reference

    Written by Chris Lattner,Dinakar Dhurjati, and Joel Stanley

Introduction
General Information
    The C++ Standard Template Library
    Other useful references
Important and useful LLVM APIs
    The isa<>, cast<> and dyn_cast<> templates
    The DEBUG() macro & -debug option


Fine grained debug info with DEBUG_TYPE() and the -debug-only option

    The Statistic template & -stats option
Helpful Hints for Common Operations
    Basic Inspection and Traversal Routines


Iterating over the BasicBlocks in a Function


Iterating over the Instructions in a BasicBlock


Iterating over the Instructions in a Function


Turning an iterator into a class pointer (and vice-versa)


Finding call sites: a slightly more complex example


Treating calls and invokes the same way


Iterating over def-use & use-def chains

    Making simple changes


Creating and inserting new Instructions


Deleting Instructions


Replacing an Instruction with another Value

Deleting Instructions

The Core LLVM Class Hierarchy Reference
    The Value class


Important Public Members of the Value class

    The User class


Important Public Members of the User class

    The Instruction class


Important Public Members of the Instruction class

    The BasicBlock class


Important Public Members of the BasicBlock class

    The GlobalValue class


Important Public Members of the GlobalValue class

    The Function class


Important Public Members of the Function class

    The GlobalVariable class


Important Public Members of the GlobalVariable class

    The Module class


Important Public Members of the Module class

Constructing a Module is easy. You can optionally provide a name for it (probably based on the name of the translation unit).

    The Constant class and subclasses


Important Public Methods

    The Type class and Derived Types


Important Public Methods

    The Argument class

By: Dinakar Dhurjati and Chris Lattner
The LLVM Compiler Infrastructure
Last modified: Fri Nov 7 13:24:22 CST 2003