From c6bb82495c90574195049cc5aae8a4ff6ae57e6b Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 8 Aug 2002 20:11:18 +0000 Subject: [PATCH] Initial checkin of the "Writting an LLVM Pass" document git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3267 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/WritingAnLLVMPass.html | 969 ++++++++++++++++++++++++++++++++++++ 1 file changed, 969 insertions(+) create mode 100644 docs/WritingAnLLVMPass.html diff --git a/docs/WritingAnLLVMPass.html b/docs/WritingAnLLVMPass.html new file mode 100644 index 00000000000..9f5dff4d31d --- /dev/null +++ b/docs/WritingAnLLVMPass.html @@ -0,0 +1,969 @@ + +Writing an LLVM Pass + + + + + + + +
  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 + +

+ + + + + +
+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: Thu Aug 8 15:07:23 CDT 2002 + +