X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fir%2Firdump.c;h=9b1904a58a90a4136a42293169ed070777baf80c;hb=20a054e20083e0b0e996aceabf561254c663277a;hp=b1344e2b6505f9d91e205431206e53ab862b6581;hpb=b519dd6a1e6d85e843eff533be787d1f138a07ff;p=libfirm diff --git a/ir/ir/irdump.c b/ir/ir/irdump.c index b1344e2b6..9b1904a58 100644 --- a/ir/ir/irdump.c +++ b/ir/ir/irdump.c @@ -100,6 +100,7 @@ static int dump_out_edge_flag = 0; static int dump_loop_information_flag = 0; static int dump_backedge_information_flag = 1; static int dump_const_local = 0; +static int dump_node_idx_labels = 0; /** An option to dump all graph anchors */ static int dump_anchors = 0; @@ -191,6 +192,10 @@ void dump_consts_local(int flag) { dump_const_local = flag; } +void dump_node_idx_label(int flag) { + dump_node_idx_labels = flag; +} + void dump_constant_entity_values(int flag) { const_entities = flag; } @@ -707,6 +712,9 @@ int dump_node_opcode(FILE *F, ir_node *n) case symconst_enum_const: fprintf(F, "SymC %s enum", get_enumeration_name(get_SymConst_enum(n))); break; + case symconst_label: + fprintf(F, "SymC %lu label", get_SymConst_label(n)); + break; } } break; @@ -749,8 +757,15 @@ int dump_node_opcode(FILE *F, ir_node *n) break; } case iro_Load: + if (get_Load_align(n) == align_non_aligned) + fprintf(F, "ua"); fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Load_mode(n), &bad)); break; + case iro_Store: + if (get_Store_align(n) == align_non_aligned) + fprintf(F, "ua"); + fprintf(F, "%s", get_irn_opname(n)); + break; case iro_Block: fprintf(F, "%s%s", is_Block_dead(n) ? "Dead " : "", get_irn_opname(n)); break; @@ -759,6 +774,15 @@ int dump_node_opcode(FILE *F, ir_node *n) fprintf(F, "strict"); fprintf(F, "%s", get_irn_opname(n)); break; + case iro_Div: + fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Div_resmode(n), &bad)); + break; + case iro_Mod: + fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Mod_resmode(n), &bad)); + break; + case iro_DivMod: + fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_DivMod_resmode(n), &bad)); + break; default: default_case: @@ -1111,7 +1135,11 @@ int dump_node_label(FILE *F, ir_node *n) { fprintf(F, " "); bad |= dump_node_typeinfo(F, n); bad |= dump_node_nodeattr(F, n); - fprintf(F, "%ld:%d", get_irn_node_nr(n), get_irn_idx(n)); + if(dump_node_idx_labels) { + fprintf(F, "%ld:%d", get_irn_node_nr(n), get_irn_idx(n)); + } else { + fprintf(F, "%ld", get_irn_node_nr(n)); + } return bad; } @@ -1400,7 +1428,7 @@ print_data_edge_vcgattr(FILE *F, ir_node *from, int to) { * do not use get_nodes_block() here, will fail * if the irg is not pinned. */ - if (get_nodes_block(from) == get_nodes_block(get_irn_n(from, to))) + if (get_irn_n(from, -1) == get_irn_n(get_irn_n(from, to), -1)) fprintf(F, INTRA_DATA_EDGE_ATTR); else fprintf(F, INTER_DATA_EDGE_ATTR); @@ -1412,7 +1440,7 @@ print_mem_edge_vcgattr(FILE *F, ir_node *from, int to) { * do not use get_nodes_block() here, will fail * if the irg is not pinned. */ - if (get_nodes_block(from) == get_nodes_block(get_irn_n(from, to))) + if (get_irn_n(from, -1) == get_irn_n(get_irn_n(from, to), -1)) fprintf(F, INTRA_MEM_EDGE_ATTR); else fprintf(F, INTER_MEM_EDGE_ATTR); @@ -1442,9 +1470,6 @@ static void print_edge_vcgattr(FILE *F, ir_node *from, int to) { fprintf(F, KEEP_ALIVE_DF_EDGE_ATTR); } break; - case iro_Anchor: - fprintf(F, ANCHOR_EDGE_ATTR); - break; default: if (is_Proj(from)) { if (get_irn_mode(from) == mode_M)