fix import/export of ASM
[libfirm] / ir / ir / irdump_t.h
index f333578..1ac0e0c 100644 (file)
@@ -20,7 +20,6 @@
 /**
  * @file
  * @brief   Private header for irdump
- * @version $Id$
  */
 #ifndef FIRM_IR_IRDUMPT_T_H
 #define FIRM_IR_IRDUMPT_T_H
@@ -32,6 +31,7 @@
  * Symbolic names for the different dumping colors.
  */
 typedef enum ird_color_t {
+       ird_color_none = -1,
        ird_color_prog_background,
        ird_color_block_background,
        ird_color_dead_block_background,
@@ -117,8 +117,8 @@ typedef enum {
 #define ENUM_ITEM_NODE_ATTR      "color: green"
 #define ENT_TYPE_EDGE_ATTR       "class: 3 label: \"type\" color: red"
 #define ENT_OWN_EDGE_ATTR        "class: 4 label: \"owner\" color: black"
-#define METH_PAR_EDGE_ATTR       "class: 5 label: \"param %d\" color: green"
-#define METH_RES_EDGE_ATTR       "class: 6 label: \"res %d\" color: green"
+#define METH_PAR_EDGE_ATTR       "class: 5 label: \"param %zu\" color: green"
+#define METH_RES_EDGE_ATTR       "class: 6 label: \"res %zu\" color: green"
 #define TYPE_SUPER_EDGE_ATTR     "class: 7 label: \"supertype\" color: red"
 #define UNION_EDGE_ATTR          "class: 8 label: \"component\" color: blue"
 #define PTR_PTS_TO_EDGE_ATTR     "class: 9 label: \"points to\" color:green"
@@ -126,22 +126,16 @@ typedef enum {
 #define ARR_ENT_EDGE_ATTR        "class: 10 label: \"arr ent\" color: green"
 #define ENT_OVERWRITES_EDGE_ATTR "class: 11 label: \"overwrites\" color:red"
 #define ENT_VALUE_EDGE_ATTR      "label: \"value %d\""
-#define ENT_CORR_EDGE_ATTR       "label: \"value %d corresponds to \" "
+#define ENT_CORR_EDGE_ATTR       "label: \"value %zu corresponds to \" "
 #define TYPE_MEMBER_EDGE_ATTR    "class: 12 label: \"member\" color:blue"
 /* #define CALLGRAPH_EDGE_ATTR      "calls" */
 
-#define PRINT_NODEID(X)       fprintf(F, "n%ld", get_irn_node_nr(X))
-#define PRINT_TYPEID(X)       fprintf(F, "\"t%ld\"", get_type_nr(X))
-#define PRINT_ENTID(X)        fprintf(F, "e%ld", get_entity_nr(X))
-#define PRINT_IRGID(X)        fprintf(F, "g%ld", get_irg_graph_nr(X))
-#define PRINT_CONSTID(X,Y)    fprintf(F, "\"n%ldn%ld\"", get_irn_node_nr(X),get_irn_node_nr(Y))
-#define PRINT_CONSTBLKID(X,Y) fprintf(F, "n%ldb%ld", get_irn_node_nr(X),get_irn_node_nr(Y))
-#define PRINT_LOOPID(X)       fprintf(F, "l%d", get_loop_loop_nr(X))
-#define PRINT_ITEMID(X,Y)     fprintf(F, "i%ldT%d", get_type_nr(X), (Y))
-#define PRINT_EXTBBID(X)      fprintf(F, "x%ld", get_irn_node_nr(X))
+void print_nodeid(FILE *F, const ir_node *node);
+void print_irgid(FILE *F, const ir_graph *irg);
+void print_typeid(FILE *F, const ir_type *type);
+void print_entityid(FILE *F, const ir_entity *entity);
+void print_loopid(FILE *F, const ir_loop *loop);
 
-void dump_vcg_header(FILE *out, const char *name, const char *layout, const char *orientation);
-void dump_vcg_footer(FILE *out);
 const char *get_irg_dump_name(const ir_graph *irg);
 
 const char *get_ent_dump_name(const ir_entity *ent);
@@ -152,13 +146,21 @@ const char *get_ent_dump_name(const ir_entity *ent);
  */
 const char *get_mode_name_ex(const ir_mode *mode, int *bad);
 /** dump the name of a node n to the File F. */
-void dump_node_opcode(FILE *out, ir_node *n);
+void dump_node_opcode(FILE *out, const ir_node *n);
 
-void dump_node_label(FILE *out, ir_node *n);
-
-void dump_vrp_info(FILE *out, ir_node *n);
+void dump_node_label(FILE *out, const ir_node *n);
 
 /** Writes vcg representation with title "PRINT_TYPEID(tp)" to file F. */
 void dump_type_node(FILE *out, ir_type *tp);
 
+void dump_vcg_header(FILE *out, const char *name, const char *layout, const char *orientation);
+void dump_vcg_footer(FILE *out);
+void dump_vcg_header_colors(FILE *out);
+void dump_vcg_infonames(FILE *out);
+void dump_node(FILE *out, const ir_node *node);
+
+/** Write the irnode and all its attributes to the file passed.
+ * (plain text format) */
+void dump_irnode_to_file(FILE *out, const ir_node *node);
+
 #endif