/* GRAPH DUMPERS */
/* **************************************************************************** */
+/**
+ * This hook is called to insert some special nodes into dumped graph
+ */
+typedef int (*DUMP_IR_GRAPH_FUNC)(FILE *F, ir_graph *irg);
/**
* This hook is called to dump the vcg attributes of a node to a file.
* If this function returns zero, the default attributes are added, else
* removed.
*/
typedef int (*DUMP_NODE_VCGATTR_FUNC)(FILE *F, ir_node *node, 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 *F, ir_node *node, int to);
+/** Set the ir graph dump hook. */
+void set_dump_ir_graph_hook(DUMP_IR_GRAPH_FUNC hook);
/** Set the node_vcgattr hook. */
void set_dump_node_vcgattr_hook(DUMP_NODE_VCGATTR_FUNC hook);
+/** Set the edge_vcgattr hook. */
+void set_dump_edge_vcgattr_hook(DUMP_EDGE_VCGATTR_FUNC hook);
+
+typedef int (*DUMP_NODE_EDGE_FUNC)(FILE *f, ir_node *node);
+
+/**
+ * Set the hook to be called to dump additional edges to a node.
+ * @param func The hook to be called.
+ */
+void set_dump_node_edge_hook(DUMP_NODE_EDGE_FUNC func);
+
+/**
+ * Get the additional edge dump hook.
+ * @return The current additional edge dump hook.]
+ */
+DUMP_NODE_EDGE_FUNC get_dump_node_edge_hook(void);
/** Dump a firm graph.
*
/** Sets the vcg flag "display_edge_labels" to no.
*
* This is necessary as xvcg and aisee both fail to display graphs
- * with self-edges if these edges have lables.
+ * with self-edges if these edges have labels.
*/
void turn_off_edge_labels(void);
/** Turns on dumping the out edges starting from the Start block in
* dump_ir_graph.
*
- * To test the consistency of the out datastructure.
+ * To test the consistency of the out data structure.
*/
void dump_out_edges(bool b);
*/
void dump_pointer_values_to_info(bool b);
+/** Dumps ld_names of entities instead of there names.
+ *
+ * This option is on per default.
+ */
+void dump_ld_names(bool b);
# endif /* _IRDUMP_H_ */