Writing an LLVM Pass
  1. Introduction - What is a pass?
  2. Quick Start - Writing hello world
  3. Pass classes and requirements
  4. Pass Registration
  5. Specifying interactions between passes
  6. What PassManager does
  7. Future extensions planned

    Written by Chris Lattner

Introduction - What is a pass?

Quick Start - Writing hello world
   Setting up the build environment


   Basic code required
   Running a pass with opt or analyze
Pass classes and requirements
   The Pass class


The run method

   The FunctionPass class


The doInitialization method


The runOnFunction method


The doFinalization method

   The BasicBlockPass class


The runOnBasicBlock method

Pass registration


The print method

Specifying interactions between passes


The getAnalysisUsage method


The getAnalysis<> method

What PassManager does


The releaseMemory method

Future extensions planned


Multithreaded LLVM


A new ModuleSource interface


Pass's requiring FunctionPass's


Christopher Lattner
Last modified: Wed Aug 14 15:06:49 CDT 2002