Added a VECTORISE pragma
[ghc-hetmet.git] / docs / users_guide / debugging.xml
index e00cd8f..4db79af 100644 (file)
                 <indexterm><primary><option>-ddump-rules</option></primary></indexterm>
              </term>
              <listitem>
-               <para>dumps all rewrite rules (including those generated
-             by the specialisation pass)</para>
+               <para>dumps all rewrite rules specified in this module; 
+                      see <xref linkend="controlling-rules"/>.
+                </para>
+             </listitem>
+           </varlistentry>
+
+           <varlistentry>
+             <term>
+               <option>-ddump-rule-firings</option>:
+                <indexterm><primary><option>-ddump-rule-firings</option></primary></indexterm>
+             </term>
+             <listitem>
+               <para>dumps the names of all rules that fired in this module</para>
+             </listitem>
+           </varlistentry>
+
+           <varlistentry>
+             <term>
+               <option>-ddump-rule-rewrites</option>:
+                <indexterm><primary><option>-ddump-rule-rewrites</option></primary></indexterm>
+             </term>
+             <listitem>
+               <para>dumps detailed information about all rules that fired in
+                     this module
+               </para>
+             </listitem>
+           </varlistentry>
+
+           <varlistentry>
+             <term>
+               <option>-ddump-vect</option>:
+                <indexterm><primary><option>-ddump-vect</option></primary></indexterm>
+             </term>
+             <listitem>
+               <para>dumps the output of the vectoriser.
+                </para>
              </listitem>
            </varlistentry>
 
 
            <varlistentry>
              <term>
-               <option>-ddump-workwrap</option>:
-                <indexterm><primary><option>-ddump-workwrap</option></primary></indexterm>
+               <option>-ddump-worker-wrapper</option>:
+                <indexterm><primary><option>-ddump-worker-wrapper</option></primary></indexterm>
              </term>
              <listitem>
                <para>worker/wrapper split output</para>
         </term>
        <listitem>
          <para>Show the output of each run of the simplifier.  Used when even
-        <option>-dverbose-simpl</option> doesn't cut it.</para>
+        <option>-dverbose-core2core</option> doesn't cut it.</para>
        </listitem>
       </varlistentry>
 
       </varlistentry>
 
       <varlistentry>
-       <term>
+  <term>
           <option>-ddump-tc-trace</option>
           <indexterm><primary><option>-ddump-tc-trace</option></primary></indexterm>
         </term>
-       <listitem>
-         <para>Make the type checker be *real* chatty about what it is
-       upto.</para>
-       </listitem>
+  <listitem>
+    <para>Make the type checker be *real* chatty about what it is
+  upto.</para>
+  </listitem>
+      </varlistentry>
+
+      <varlistentry>
+  <term>
+          <option>-ddump-vt-trace</option>
+          <indexterm><primary><option>-ddump-tv-trace</option></primary></indexterm>
+        </term>
+  <listitem>
+    <para>Make the vectoriser be *real* chatty about what it is
+  upto.</para>
+  </listitem>
       </varlistentry>
 
       <varlistentry>
         of output!) So: when we're really desperate:</para>
 
          <screen>
-% ghc -noC -O -ddump-simpl -dverbose-simpl -dcore-lint Foo.hs
+% ghc -noC -O -ddump-simpl -dverbose-core2core -dcore-lint Foo.hs
 </screen>
 
        </listitem>
 
       <varlistentry>
        <term>
+          <option>-dsuppress-uniques</option>
+          <indexterm><primary><option>-dsuppress-uniques</option></primary></indexterm>
+        </term>
+       <listitem>
+         <para>Suppress the printing of uniques in debugging output. This may make 
+         the printout ambiguous (e.g. unclear where an occurrence of 'x' is bound), but
+         it makes the output of two compiler runs have many fewer gratuitous differences,
+           so you can realistically apply <command>diff</command>.  Once <command>diff</command>
+         has shown you where to look, you can try again without <option>-dsuppress-uniques</option></para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
+          <option>-dsuppress-coercions</option>
+          <indexterm><primary><option>-dsuppress-coercions</option></primary></indexterm>
+        </term>
+       <listitem>
+          <para>Suppress the printing of coercions in Core dumps to make them
+shorter.</para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
+          <option>-dsuppress-module-prefixes</option>
+          <indexterm><primary><option>-dsuppress-module-prefixes</option></primary></indexterm>
+        </term>
+       <listitem>
+          <para>Suppress the printing of module qualification prefixes in Core dumps to make them easier to read.</para>
+       </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
           <option>-dppr-user-length</option>
           <indexterm><primary><option>-dppr-user-length</option></primary></indexterm>
         </term>
@@ -625,7 +705,6 @@ Main.skip2{-r1L6-} =
 
 <!-- Emacs stuff:
      ;;; Local Variables: ***
-     ;;; mode: xml ***
      ;;; sgml-parent-document: ("users_guide.xml" "book" "chapter" "sect1") ***
      ;;; End: ***
  -->