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
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


Iterating over def-use & use-def chains

   Making simple changes


Creating and inserting new Instructions


Deleting Instructions


Replacing an Instruction with another Value

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

   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: Mon Oct 27 12:00:00 CDT 2003