- xfprintf (F, "\"%I%I\"", get_irn_opident(n), get_irn_modeident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Jmp:
- xfprintf (F, "\"%I\"", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Break:
- xfprintf (F, "\"%I\"", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Cond:
- xfprintf (F, "\"%I\"", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Call:
- xfprintf (F, "\"%I\"", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_CallBegin:
- xfprintf (F, "\"%I\"", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Return:
- xfprintf (F, "\"%I\"", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Raise:
- xfprintf (F, "\"%I%I\"", get_irn_opident(n), get_irn_modeident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Load:
- case iro_Store:
- xfprintf (F, "\"%R\"", n);
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Alloc:
- xfprintf (F, "\"%I\" ", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Sel:
- assert(get_kind(get_Sel_entity(n)) == k_entity);
- xfprintf (F, "\"%I ", get_irn_opident(n));
- xfprintf (F, "%I", get_entity_ident(get_Sel_entity(n)));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_SymConst:
- assert(get_kind(get_SymConst_type(n)) == k_type);
- assert(get_type_ident(get_SymConst_type(n)));
- xfprintf (F, "\"%s ", get_type_name(get_SymConst_type(n)));
- switch (n->attr.i.num){
- case type_tag:
- xfprintf (F, "tag\" ");
- break;
- case size:
- xfprintf (F, "size\" ");
- break;
- default:
- assert(0);
- break;
- }
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Sync:
- xfprintf (F, "\"%I\" ", get_irn_opident(n));
- xfprintf (F, DEFAULT_NODE_ATTR " color: green");
- break;
- case iro_Bad:
- xfprintf (F, "\"%I%I\" ", get_irn_opident(n), get_irn_modeident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- case iro_Unknown:
- xfprintf (F, "\"%I%I\" ", get_irn_opident(n), get_irn_modeident(n));
- xfprintf (F, DEFAULT_NODE_ATTR);
- break;
- default:
- xfprintf (F, "\"%I%I\" ", get_irn_opident(n), get_irn_modeident(n));
- }
- xfprintf (F, "}\n"); /* footer */
-}
-
-
-/* dump the edge to the block this node belongs to */
-void
-dump_ir_block_edge(ir_node *n) {
- if (dump_const_local_set() && is_constlike_node(n)) return;
- if (is_no_Block(n)) {
- xfprintf (F, "edge: { sourcename: \"");
- PRINT_NODEID(n);
- xfprintf (F, "\" targetname: \"");
- PRINT_NODEID(get_nodes_Block(n));
- xfprintf (F, "\" " BLOCK_EDGE_ATTR "}\n");
- }
-}
-
-void print_edge_vcgattr(ir_node *from, int to) {
- assert(from);
-
- if (is_backedge(from, to)) xfprintf (F, BACK_EDGE_ATTR);
-
- switch (get_irn_opcode(from)) {
- case iro_Block:
- xfprintf (F, CF_EDGE_ATTR);
- break;
- case iro_Start: break;
- case iro_End:
- if (to >= 0) {
- if (get_irn_mode(get_End_keepalive(from, to)) == mode_BB)
- xfprintf (F, CF_EDGE_ATTR);
- if (get_irn_mode(get_End_keepalive(from, to)) == mode_X)
- xfprintf (F, MEM_EDGE_ATTR);
- }
- break;
- case iro_EndReg: break;
- case iro_EndExcept: break;
- case iro_Jmp: break;
- case iro_Break: break;
- case iro_Cond: break;
- case iro_Return:
- case iro_Raise:
- if (to == 0) xfprintf (F, MEM_EDGE_ATTR);
- break;
- case iro_Const: break;
- case iro_SymConst:break;
- case iro_Sel:
- case iro_Call:
- if (to == 0) xfprintf (F, MEM_EDGE_ATTR);
- break;
- case iro_CallBegin: break;
- case iro_Add: break;
- case iro_Sub: break;
- case iro_Minus: break;
- case iro_Mul: break;
- case iro_Quot:
- case iro_DivMod:
- case iro_Div:
- case iro_Mod:
- if (to == 0) xfprintf (F, MEM_EDGE_ATTR);