removed INLIEN before global functions
[libfirm] / ir / ir / irdump.h
index 5c04e97..a1981bb 100644 (file)
@@ -47,7 +47,7 @@
  * If this function returns zero, the default attributes are added, else
  * removed.
  */
-typedef int (*DUMP_NODE_VCGATTR_FUNC)(FILE *F, ir_node *n);
+typedef int (*DUMP_NODE_VCGATTR_FUNC)(FILE *F, ir_node *node, ir_node *local);
 
 /** Set the node_vcgattr hook. */
 void set_dump_node_vcgattr_hook(DUMP_NODE_VCGATTR_FUNC hook);
@@ -167,6 +167,21 @@ void dump_all_ir_graphs (dump_graph_func *dump_graph, const char *suffix);
  */
 void dump_cfg (ir_graph *irg, const char *suffix);
 
+/**  Dump a node and its predecessors forming a subgraph to a vcg file.
+ *
+ *   @param root   The node serving as root for the subgraph.
+ *   @param depth  Dump nodes on paths starting at root with length depth.
+ *   @param suffix A suffix for the file name.
+ *
+ *   Dumps the graph to a file.  The file name is constructed from the
+ *   name of the entity describing the procedure the passed node is
+ *   in, suffix and the ending -subg_<nr>.vcg.  nr is a unique number
+ *   for each graph dumped. Eventually overwrites existing files.
+ *
+ *   @return
+ *      A file containing the subgraph in vcg format.
+ */
+void dump_subgraph (ir_node *root, int depth, const char *suffix);
 
 /* **************************************************************************** */
 /*                              CALLGRAPH DUMPERS                               */
@@ -278,7 +293,7 @@ int dump_irnode_to_file (FILE *f, ir_node *n);
 
 /** Write the irnode and all its attributes to stdout.
  *  */
-void    dump_irnode (ir_node *n);
+void dump_irnode (ir_node *n);
 
 /** Write the graph and all its attributes to the file passed.
  *  Does not write the nodes.
@@ -350,7 +365,7 @@ void    dump_entity (entity *ent);
 
 /** Write the type and all its attributes to the file passed.
  * */
-void    dump_type_to_file (FILE *f, type *tp, unsigned verbosity);
+void    dump_type_to_file (FILE *f, type *tp, dump_verbosity verbosity);
 
 /** Write the type and all its attributes to stdout.
  *  */
@@ -389,7 +404,7 @@ void only_dump_method_with_name(ident *name);
 /**  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 labes.
+ *   with self-edges if these edges have lables.
  */
 void turn_off_edge_labels(void);
 
@@ -412,7 +427,7 @@ bool get_opt_dump_const_local(void);
 /**  Turns off dumping the values of constant entities. Makes type graphs
  *   better readable.
  */
-void turn_off_constant_entity_values(void);
+void dump_constant_entity_values(bool b);
 
 /**  Turns on dumping the edges from the End node to nodes to be kept
  *   alive.
@@ -425,24 +440,18 @@ bool get_opt_dump_keepalive_edges(void);
  *
  *  To test the consistency of the out datastructure.
  */
-void dump_out_edges(void);
+void dump_out_edges(bool b);
 
 /** If this flag is set the dumper dumps edges to immediate dominator in cfg.
  */
-void dump_dominator_information(void);
+void dump_dominator_information(bool b);
 
 /** If this flag is set the dumper dumps loop nodes and edges from
  *  these nodes to the contained ir nodes.
  *
- *  Can be turned off with dont_dump_loop_information().
  *  If the loops are interprocedural nodes can be missing.
  */
-void dump_loop_information(void);
-
-/**
- * @see dump_loop_information()
- */
-void dont_dump_loop_information(void);
+void dump_loop_information(bool b);
 
 /** If set and backedge info is computed, backedges are dumped dashed
  *  and as vcg 'backedge' construct.