X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=include%2Flibfirm%2Firdump.h;h=933ad3ab92d236d2d2328cf90191fed19e8a9152;hb=ea177aefa204d7120fc927563cbe3dcbb67d3470;hp=b3cf07c252fe6c5cdd2ec4294e6afd54f47e370d;hpb=f8cc15664f571aa7ef89d6f6bc8d5bd2b8ca7d53;p=libfirm diff --git a/include/libfirm/irdump.h b/include/libfirm/irdump.h index b3cf07c25..933ad3ab9 100644 --- a/include/libfirm/irdump.h +++ b/include/libfirm/irdump.h @@ -21,18 +21,8 @@ * @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 @@ -42,8 +32,24 @@ #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);