X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=ir%2Fir%2Firdump.c;h=0396708d62b3e44fe577dee0618d358c3c646fe7;hb=35a7482553cc710c2e1de31091a921339398145c;hp=3cc3224dd64d695d1b811bd5a1bf8616f7497822;hpb=1e799c3b86bb5b1a6406c0137266b5dbe02bb9d9;p=libfirm diff --git a/ir/ir/irdump.c b/ir/ir/irdump.c index 3cc3224dd..0396708d6 100644 --- a/ir/ir/irdump.c +++ b/ir/ir/irdump.c @@ -22,7 +22,6 @@ * @brief Write vcg representation of firm to file. * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Hubert Schmidt, * Matthias Braun - * @version $Id$ */ #include "config.h" @@ -691,17 +690,6 @@ void dump_node_opcode(FILE *F, ir_node *n) } break; - case iro_Proj: { - ir_node *pred = get_Proj_pred(n); - - if (get_irn_opcode(pred) == iro_Cond - && get_Proj_proj(n) == get_Cond_default_proj(pred) - && get_irn_mode(get_Cond_selector(pred)) != mode_b) - fprintf(F, "defProj"); - else - goto default_case; - } break; - case iro_Load: if (get_Load_unaligned(n) == align_non_aligned) fprintf(F, "ua"); @@ -739,7 +727,6 @@ void dump_node_opcode(FILE *F, ir_node *n) break; default: -default_case: fprintf(F, "%s", get_irn_opname(n)); } } @@ -1903,14 +1890,12 @@ static void dump_out_edge(ir_node *n, void *env) } } -static void dump_loop_label(FILE *F, ir_loop *loop) +static void dump_loop_label(FILE *F, const ir_loop *loop) { - fprintf(F, "loop %u, %lu sons, %lu nodes", - get_loop_depth(loop), (unsigned long) get_loop_n_sons(loop), - (unsigned long) get_loop_n_nodes(loop)); + fprintf(F, "loop %u", get_loop_depth(loop)); } -static void dump_loop_info(FILE *F, ir_loop *loop) +static void dump_loop_info(FILE *F, const ir_loop *loop) { fprintf(F, " info1: \""); fprintf(F, " loop nr: %ld", get_loop_loop_nr(loop)); @@ -1920,7 +1905,7 @@ static void dump_loop_info(FILE *F, ir_loop *loop) fprintf(F, "\""); } -static void dump_loop_node(FILE *F, ir_loop *loop) +static void dump_loop_node(FILE *F, const ir_loop *loop) { fprintf(F, "node: {title: \""); PRINT_LOOPID(loop); @@ -1931,44 +1916,52 @@ static void dump_loop_node(FILE *F, ir_loop *loop) fprintf(F, "}\n"); } -static void dump_loop_node_edge(FILE *F, ir_loop *loop, size_t i) +static void dump_loop_node_edge(FILE *F, const ir_loop *loop, size_t i) { assert(loop); fprintf(F, "edge: {sourcename: \""); PRINT_LOOPID(loop); fprintf(F, "\" targetname: \""); - PRINT_NODEID(get_loop_node(loop, i)); + PRINT_NODEID(get_loop_element(loop, i).node); fprintf(F, "\" color: green"); fprintf(F, "}\n"); } -static void dump_loop_son_edge(FILE *F, ir_loop *loop, size_t i) +static void dump_loop_son_edge(FILE *F, const ir_loop *loop, size_t i) { assert(loop); fprintf(F, "edge: {sourcename: \""); PRINT_LOOPID(loop); fprintf(F, "\" targetname: \""); - PRINT_LOOPID(get_loop_son(loop, i)); - ir_fprintf(F, "\" color: darkgreen label: \"%zu\"}\n", - get_loop_element_pos(loop, get_loop_son(loop, i))); + PRINT_LOOPID(get_loop_element(loop, i).son); + ir_fprintf(F, "\" color: darkgreen label: \"%zu\"}\n", i); } -static void dump_loops(FILE *F, ir_loop *loop) +static void dump_loops(FILE *F, const ir_loop *loop) { size_t i; + size_t n_elements = get_loop_n_elements(loop); /* dump this loop node */ dump_loop_node(F, loop); /* dump edges to nodes in loop -- only if it is a real loop */ if (get_loop_depth(loop) != 0) { - for (i = get_loop_n_nodes(loop); i > 0;) { + for (i = n_elements; i > 0;) { + loop_element element; --i; + element = get_loop_element(loop, i); + if (*element.kind != k_ir_node) + continue; dump_loop_node_edge(F, loop, i); } } - for (i = get_loop_n_sons(loop); i > 0;) { - --i; - dump_loops(F, get_loop_son(loop, i)); + for (i = n_elements; i > 0;) { + loop_element element; + --i; + element = get_loop_element(loop, i); + if (*element.kind != k_ir_loop) + continue; + dump_loops(F, element.son); dump_loop_son_edge(F, loop, i); } }