add documentation make target, fix docu bugs
[libfirm] / include / libfirm / irdump.h
index b3cf07c..933ad3a 100644 (file)
  * @file
  * @brief   Write vcg representation of firm to file.
  * @author  Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Hubert Schmidt
- * @brief
- *  Dump routines for the ir graph and all type information.
- *
- *  The dump format of most functions is vcg.  This is a text based graph
- *  representation. Some use the original format,
- *  but most generate an extended format that is only read by some special
- *  versions of xvcg or by the comercialized version now calles aiSee.
- *  A test version of aiSee is available at
- *   http://www.absint.de/aisee/download/index.htm.
+ * @brief   Dump routines for the ir graph and all type information.
  *
- *  We have developed an own advanced viewer called ycomp:
- *    http://www.info.uni-karlsruhe.de/software/ycomp/
  */
 #ifndef FIRM_IR_IRDUMP_H
 #define FIRM_IR_IRDUMP_H
 #include "firm_types.h"
 #include "begin.h"
 
-/** @defgroup convenience_dumper   Convenience interface for dumpers */
-/*@{*/
+/** @defgroup ir_dump Visualisation
+ *
+ * Dumps information so it can be visualised. The dump format of most functions
+ * is vcg.  This is a text based graph representation. Some use the original
+ * format, but most generate an extended format that is only read by some
+ * special versions of xvcg or by the commercialized version now calles aiSee.
+ *
+ * A test version of aiSee is available at
+ *   http://www.absint.de/aisee/download/index.htm.
+ *
+ * We have developed an own advanced viewer called ycomp:
+ *   http://www.info.uni-karlsruhe.de/software/ycomp/
+ *@{
+ */
+
+/** @defgroup convenience Convenience Interface
+ * @{
+ */
 
 /**
  * Convenience interface for dumping a graph as vcg file.
@@ -134,15 +140,6 @@ FIRM_API ir_prog_pass_t *dump_all_ir_graph_pass(const char *name,
 
 /*@}*/
 
-/**
- * @defgroup dumper     Dump information to file
- * This is the low-level interface for dumping information as text files
- * and xvcg graphs.
- * Normally you should use the convenience interface @ref convenience_dumper
- * instead of the functions in this group.
- */
-/*@{*/
-
 /**
  * Dumps all Firm nodes of a single graph for a single procedure in
  * standard xvcg format.
@@ -235,9 +232,6 @@ FIRM_API void dump_globals_as_text(FILE *out);
  */
 FIRM_API void dump_loop(FILE *out, ir_loop *loop);
 
-/** Write the irnode and all its attributes to the file passed. */
-FIRM_API void dump_irnode_to_file(FILE *out, ir_node *node);
-
 /** Write the graph and all its attributes to the file passed.
  *  Does not write the nodes. */
 FIRM_API void dump_graph_as_text(FILE *out, ir_graph *graph);
@@ -359,16 +353,20 @@ FIRM_API ir_dump_flags_t ir_get_dump_flags(void);
  * If this function returns zero, the default attributes are added, else
  * removed.
  */
-typedef int (*dump_node_vcgattr_func)(FILE *out, ir_node *node, ir_node *local);
+typedef int (*dump_node_vcgattr_func)(FILE *out, const ir_node *node, const ir_node *local);
 
 /**
  * This hook is called to dump the vcg attributes of an edge to a file.
  * If this function returns zero, the default attributes are added, else
  * removed.
  */
-typedef int (*dump_edge_vcgattr_func)(FILE *out, ir_node *node, int to);
+typedef int (*dump_edge_vcgattr_func)(FILE *out, const ir_node *node, int to);
 
-typedef void (*dump_node_edge_func)(FILE *out, ir_node *node);
+/**
+ * This hook allows dumping of additional edges (it is called outside a node: {}
+ * environment)
+ */
+typedef void (*dump_node_edge_func)(FILE *out, const ir_node *node);
 
 /** Set the node_vcgattr hook. */
 FIRM_API void set_dump_node_vcgattr_hook(dump_node_vcgattr_func hook);