[llvm-commits] CVS: llvm/docs/CommandGuide/bugpoint.html

Chris Lattner lattner at cs.uiuc.edu
Sat Oct 18 16:35:01 PDT 2003


Changes in directory llvm/docs/CommandGuide:

bugpoint.html updated: 1.9 -> 1.10

---
Log message:

Add bugpoint advice section


---
Diffs of the changes:  (+30 -1)

Index: llvm/docs/CommandGuide/bugpoint.html
diff -u llvm/docs/CommandGuide/bugpoint.html:1.9 llvm/docs/CommandGuide/bugpoint.html:1.10
--- llvm/docs/CommandGuide/bugpoint.html:1.9	Sat Oct 18 15:57:23 2003
+++ llvm/docs/CommandGuide/bugpoint.html	Sat Oct 18 16:34:15 2003
@@ -105,6 +105,35 @@
 working properly.<p>
 
 
+<a name="bugpoint notes">
+<h4>Advice for using <tt>bugpoint</tt></h4>
+
+<tt>bugpoint</tt> can be a remarkably useful tool, but it sometimes works in
+non-obvious ways.  Here are some hints and tips:<p>
+
+<ol>
+<li>In code generator and miscompilation debugging modes, <tt>bugpoint</tt> only
+    works with programs that have deterministic output.  Thus, if the program
+    outputs the date, time, or any other "random" data, it should be masked out.
+
+<li>In code generator and miscompilation debugging modes, debugging will go
+    faster if you manually modify the program or its inputs to reduce the
+    runtime, but still exhibit the problem.
+
+<li><tt>bugpoint</tt> is extremely useful when working on a new optimization:
+    it helps track down regressions quickly.  To avoid having to relink
+    <tt>bugpoint</tt> every time you change your optization however, have
+    <tt>bugpoint</tt> dynamically load your optimization with the <a
+    href="#opt_load"><tt>-load</tt></a> option.
+
+<li><tt>bugpoint</tt> can generate a lot of output and run for a long period of
+    time.  It is often useful to capture the output of the program to file.  For
+    example:<br>
+    <tt>bugpoint  ..... |& tee bugpoint.log</tt><p>
+
+</ol>
+
+
 <h3>OPTIONS</h3>
 
 <ul>
@@ -141,7 +170,7 @@
 	Specify the contents of <stdin> when the program must be executed.
 	<p>
 
-	<li> <tt>-load <plugin.so></tt><br>
+	<a name="opt_load"><li> <tt>-load <plugin.so></tt><br>
 	Load the dynamic object plugin.so.  This object should register new
 	optimization passes.  Once loaded, the object will add new command line
 	options to enable various optimizations.  To see the new complete list





More information about the llvm-commits mailing list