[llvm-commits] CVS: llvm/www/docs/WritingAnLLVMPass.html
Brian Gaeke
gaeke at cs.uiuc.edu
Thu Jul 17 13:54:02 PDT 2003
Changes in directory llvm/www/docs:
WritingAnLLVMPass.html updated: 1.14 -> 1.15
---
Log message:
Added bits about MachineFunctionPass
---
Diffs of the changes:
Index: llvm/www/docs/WritingAnLLVMPass.html
diff -u llvm/www/docs/WritingAnLLVMPass.html:1.14 llvm/www/docs/WritingAnLLVMPass.html:1.15
--- llvm/www/docs/WritingAnLLVMPass.html:1.14 Mon Jul 14 12:20:40 2003
+++ llvm/www/docs/WritingAnLLVMPass.html Thu Jul 17 13:53:20 2003
@@ -40,6 +40,8 @@
<li><a href="#doFinalization_fn">The <tt>doFinalization(Function
&)</tt> method</a>
</ul>
+ <li><a href="#MachineFunctionPass">The <tt>MachineFunctionPass</tt>
+ class</a>
</ul>
<li><a href="#registration">Pass Registration</a>
<ul>
@@ -568,6 +570,31 @@
program being compiled. This can be used to perform per-function
finalization.<p>
+
+<!-- ======================================================================= -->
+</ul><table width="100%" bgcolor="#441188" border=0 cellpadding=4 cellspacing=0>
+<tr><td> </td><td width="100%">
+<font color="#EEEEFF" face="Georgia,Palatino"><b>
+<a name="MachineFunctionPass">The <tt>MachineFunctionPass</tt> class
+</b></font></td></tr></table><ul>
+
+A <tt>MachineFunctionPass</tt> executes on the machine-dependent
+representation of each LLVM function in the program,
+independent of all of the other functions in the program.
+A <tt>MachineFunctionPass</tt> is also a <tt>FunctionPass</tt>, so all
+the restrictions that apply to a <tt>FunctionPass</tt> also apply to it.
+<tt>MachineFunctionPass</tt>es also have additional restrictions. In
+particular, <tt>MachineFunctionPass</tt>es are not allowed to do any of
+the following:
+
+<ol>
+<li>Modify any LLVM Instructions, BasicBlocks or Functions.
+<li>Modify a MachineFunction other than the one currently being processed.
+<li>Add or remove MachineFunctions from the current Module.
+<li>Add or remove global variables from the current Module.
+<li>Maintain state across invocations of
+ <a href="#runOnMachineFunction"><tt>runOnMachineFunction</tt></a> (including global data)
+</ol><p>
<!-- *********************************************************************** -->
More information about the llvm-commits
mailing list