Correct a bunch of mistakes which meant that the example pass didn't

even compile, let alone work.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122657 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Duncan Sands 2011-01-01 17:37:07 +00:00
parent dc97c0b2c7
commit 5e09eefe95

View File

@ -273,7 +273,7 @@ time.</p>
<div class="doc_code"><pre> <div class="doc_code"><pre>
static char ID; static char ID;
Hello() : FunctionPass(&amp;ID) {} Hello() : FunctionPass(ID) {}
</pre></div><p> </pre></div><p>
<p> This declares pass identifier used by LLVM to identify pass. This allows LLVM to <p> This declares pass identifier used by LLVM to identify pass. This allows LLVM to
@ -301,7 +301,7 @@ function.</p>
initialization value is not important.</p> initialization value is not important.</p>
<div class="doc_code"><pre> <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 /* Only looks at CFG */,
false /* Analysis Pass */); false /* Analysis Pass */);
} <i>// end of anonymous namespace</i> } <i>// end of anonymous namespace</i>
@ -328,7 +328,7 @@ is supplied as fourth argument. </p>
<b>struct Hello</b> : <b>public</b> <a href="#FunctionPass">FunctionPass</a> { <b>struct Hello</b> : <b>public</b> <a href="#FunctionPass">FunctionPass</a> {
static char ID; static char ID;
Hello() : FunctionPass(&amp;ID) {} Hello() : FunctionPass(ID) {}
<b>virtual bool</b> <a href="#runOnFunction">runOnFunction</a>(Function &amp;F) { <b>virtual bool</b> <a href="#runOnFunction">runOnFunction</a>(Function &amp;F) {
errs() &lt;&lt; "<i>Hello: </i>" &lt;&lt; F.getName() &lt;&lt; "\n"; errs() &lt;&lt; "<i>Hello: </i>" &lt;&lt; F.getName() &lt;&lt; "\n";
@ -337,7 +337,7 @@ is supplied as fourth argument. </p>
}; };
char Hello::ID = 0; 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> </pre></div>
@ -361,7 +361,7 @@ them) to be useful.</p>
<p>Now that you have a brand new shiny shared object file, we can use the <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 <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> 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 <p>To test it, follow the example at the end of the <a
@ -1057,10 +1057,10 @@ remember, you may not modify the LLVM <tt>Function</tt> or its contents from a
pass registration works, and discussed some of the reasons that it is used and 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> 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> <p>As we saw above, passes are registered with the <b><tt>RegisterPass</tt></b>
macro. The first parameter is the name of the pass that is to be used on 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 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 name of the pass, which is to be used for the <tt>-help</tt> output of
programs, as programs, as
well as for debug output generated by the <tt>--debug-pass</tt> option.</p> well as for debug output generated by the <tt>--debug-pass</tt> option.</p>