[llvm-commits] CVS: llvm/www/docs/ProgrammersManual.html
Christopher Lattner
lattner at cs.uiuc.edu
Mon Sep 9 00:50:01 PDT 2002
Changes in directory llvm/www/docs:
ProgrammersManual.html updated: 1.12 -> 1.13
---
Log message:
Stub out another couple sections that it looks like 426's MP1 will really
need.
---
Diffs of the changes:
Index: llvm/www/docs/ProgrammersManual.html
diff -u llvm/www/docs/ProgrammersManual.html:1.12 llvm/www/docs/ProgrammersManual.html:1.13
--- llvm/www/docs/ProgrammersManual.html:1.12 Sat Sep 7 00:33:45 2002
+++ llvm/www/docs/ProgrammersManual.html Mon Sep 9 00:49:39 2002
@@ -22,10 +22,14 @@
in a <tt>Function</tt></a>
<li><a href="#iterate_basicblock">Iterating over the <tt>Instruction</tt>s
in a <tt>BasicBlock</tt></a>
+ <li><a href="#iterate_institer">Iterating over the <tt>Instruction</tt>s
+ in a <tt>Function</tt></a>
<li><a href="#iterate_convert">Turning an iterator into a class
pointer</a>
<li><a href="#iterate_complex">Finding call sites: a more complex
example</a>
+ <li><a href="#iterate_chains">Iterating over def-use & use-def
+ chains</a>
</ul>
<li><a href="#simplechanges">Making simple changes</a>
<ul>
@@ -269,6 +273,19 @@
pointer value for now, you must cast to <tt>void*</tt>.<p>
<!-- _______________________________________________________________________ -->
+</ul><h4><a name="iterate_institer"><hr size=0>Iterating over the
+<tt>Instruction</tt>s in a <tt>Function</tt></h4><ul>
+
+<!-- Using llvm/Support/InstIterator.h to directly get at the instructions in a
+function.
+
+Warning: *I returns an Instruction*, not an Instruction&
+
+ -->
+
+
+
+<!-- _______________________________________________________________________ -->
</ul><h4><a name="iterate_convert"><hr size=0>Turning an iterator into a class
pointer </h4><ul>
@@ -328,11 +345,9 @@
iterators automatically convert to 'Class *' except in dyn_cast<> case
-->
-<!--
-_______________________________________________________________________
---> </ul><h4><a name="iterate_complex"><hr size=0>Finding call sites:
-a slightly more complex example
-</h4><ul>
+<!--_______________________________________________________________________-->
+</ul><h4><a name="iterate_complex"><hr size=0>Finding call sites: a slightly
+more complex example </h4><ul>
Say that you're writing a FunctionPass and would like to count all the
locations in the entire module (that is, across every <tt>Function</tt>)
@@ -394,6 +409,17 @@
We could then print out the value of callCounter (if we wanted to)
inside the doFinalization method of our FunctionPass.
+
+<!--_______________________________________________________________________-->
+</ul><h4><a name="iterate_chains"><hr size=0>Iterating over def-use &
+use-def chains</h4><ul>
+
+
+<!--
+ def-use chains ("finding all users of"): Value::use_begin/use_end
+ use-def chains ("finding all values used"): User::op_begin/op_end [op=operand]
+-->
+
<!-- ======================================================================= -->
</ul><table width="100%" bgcolor="#441188" border=0 cellpadding=4 cellspacing=0>
<tr><td> </td><td width="100%">
@@ -1235,10 +1261,6 @@
<a href="mailto:sabre at nondot.org">Chris Lattner</a></address>
<!-- Created: Tue Aug 6 15:00:33 CDT 2002 -->
<!-- hhmts start -->
-<<<<<<< ProgrammersManual.html
-Last modified: Fri Sep 6 18:24:38 EDT 2002
-=======
-Last modified: Fri Sep 6 18:03:31 EDT 2002
->>>>>>> 1.10
+Last modified: Mon Sep 9 00:48:53 CDT 2002
<!-- hhmts end -->
</font></body></html>
More information about the llvm-commits
mailing list