[llvm-commits] [llvm] r122657 - /llvm/trunk/docs/WritingAnLLVMPass.html

Duncan Sands baldrick at free.fr
Sat Jan 1 09:37:07 PST 2011


Author: baldrick
Date: Sat Jan  1 11:37:07 2011
New Revision: 122657

URL: http://llvm.org/viewvc/llvm-project?rev=122657&view=rev
Log:
Correct a bunch of mistakes which meant that the example pass didn't
even compile, let alone work.

Modified:
    llvm/trunk/docs/WritingAnLLVMPass.html

Modified: llvm/trunk/docs/WritingAnLLVMPass.html
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/WritingAnLLVMPass.html?rev=122657&r1=122656&r2=122657&view=diff
==============================================================================
--- llvm/trunk/docs/WritingAnLLVMPass.html (original)
+++ llvm/trunk/docs/WritingAnLLVMPass.html Sat Jan  1 11:37:07 2011
@@ -273,7 +273,7 @@
 
 <div class="doc_code"><pre>
      static char ID;
-     Hello() : FunctionPass(&ID) {}
+     Hello() : FunctionPass(ID) {}
 </pre></div><p>
 
 <p> This declares pass identifier used by LLVM to identify pass. This allows LLVM to
@@ -301,7 +301,7 @@
 initialization value is not important.</p>
 
 <div class="doc_code"><pre>
-  INITIALIZE_PASS(Hello, "<i>hello</i>", "<i>Hello World Pass</i>",
+  static RegisterPass<Hello> X("<i>hello</i>", "<i>Hello World Pass</i>",
                         false /* Only looks at CFG */,
                         false /* Analysis Pass */);
 }  <i>// end of anonymous namespace</i>
@@ -328,7 +328,7 @@
   <b>struct Hello</b> : <b>public</b> <a href="#FunctionPass">FunctionPass</a> {
     
     static char ID;
-    Hello() : FunctionPass(&ID) {}
+    Hello() : FunctionPass(ID) {}
 
     <b>virtual bool</b> <a href="#runOnFunction">runOnFunction</a>(Function &F) {
       errs() << "<i>Hello: </i>" << F.getName() << "\n";
@@ -337,7 +337,7 @@
   };
   
   char Hello::ID = 0;
-  INITIALIZE_PASS(Hello, "<i>Hello</i>", "<i>Hello World Pass</i>", false, false);
+  static RegisterPass<Hello> X("hello", "Hello World Pass", false, false);
 }
 
 </pre></div>
@@ -361,7 +361,7 @@
 
 <p>Now that you have a brand new shiny shared object file, we can use the
 <tt>opt</tt> command to run an LLVM program through your pass.  Because you
-registered your pass with the <tt>INITIALIZE_PASS</tt> macro, you will be able to
+registered your pass with <tt>RegisterPass</tt>, you will be able to
 use the <tt>opt</tt> tool to access it, once loaded.</p>
 
 <p>To test it, follow the example at the end of the <a
@@ -1057,10 +1057,10 @@
 pass registration works, and discussed some of the reasons that it is used and
 what it does.  Here we discuss how and why passes are registered.</p>
 
-<p>As we saw above, passes are registered with the <b><tt>INITIALIZE_PASS</tt></b>
-macro.  The first parameter is the name of the pass that is to be used on
+<p>As we saw above, passes are registered with the <b><tt>RegisterPass</tt></b>
+template.  The template parameter is the name of the pass that is to be used on
 the command line to specify that the pass should be added to a program (for
-example, with <tt>opt</tt> or <tt>bugpoint</tt>).  The second argument is the
+example, with <tt>opt</tt> or <tt>bugpoint</tt>).  The first argument is the
 name of the pass, which is to be used for the <tt>-help</tt> output of
 programs, as
 well as for debug output generated by the <tt>--debug-pass</tt> option.</p>





More information about the llvm-commits mailing list