X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firdump.c;h=f27bb1d7b006d2b2a982319c7849ae92409bb08a;hb=eb47aca33f2f8c414409f3695e73277b47442334;hp=f371e045c2a5707a63fd70b3360da7a1bfac0ca6;hpb=e88385016800d3c56c3fa09770e9f7995c42e106;p=libfirm diff --git a/ir/ir/irdump.c b/ir/ir/irdump.c index f371e045c..f27bb1d7b 100644 --- a/ir/ir/irdump.c +++ b/ir/ir/irdump.c @@ -275,7 +275,7 @@ static void print_type_type_edge(FILE *F, const ir_type *S, const ir_type *T, co va_start(ap, fmt); fprintf(F, "edge: { sourcename: "); PRINT_TYPEID(S); fprintf(F, " targetname: "); PRINT_TYPEID(T); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F,"}\n"); va_end(ap); } @@ -291,7 +291,7 @@ static void print_type_ent_edge(FILE *F, const ir_type *tp, const ir_entity *ent va_start(ap, fmt); fprintf(F, "edge: { sourcename: "); PRINT_TYPEID(tp); fprintf(F, " targetname: \""); PRINT_ENTID(ent); fprintf(F, "\""); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F, "}\n"); va_end(ap); } @@ -311,7 +311,7 @@ static void print_ent_ent_edge(FILE *F, const ir_entity *ent1, const ir_entity * fprintf(F, "edge: { sourcename: \""); PRINT_ENTID(ent1); fprintf(F, "\" targetname: \""); PRINT_ENTID(ent2); fprintf(F, "\""); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F, " "); if (color != ird_color_none) print_vcg_color(F, color); @@ -330,7 +330,7 @@ static void print_ent_type_edge(FILE *F, const ir_entity *ent, const ir_type *tp va_start(ap, fmt); fprintf(F, "edge: { sourcename: \""); PRINT_ENTID(ent); fprintf(F, "\" targetname: "); PRINT_TYPEID(tp); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F,"}\n"); va_end(ap); } @@ -346,7 +346,7 @@ static void print_node_type_edge(FILE *F, const ir_node *irn, ir_type *tp, const va_start(ap, fmt); fprintf(F, "edge: { sourcename: \""); PRINT_NODEID(irn); fprintf(F, "\" targetname: "); PRINT_TYPEID(tp); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F,"}\n"); va_end(ap); } @@ -363,7 +363,7 @@ static void print_node_ent_edge(FILE *F, const ir_node *irn, const ir_entity *en fprintf(F, "edge: { sourcename: \""); PRINT_NODEID(irn); fprintf(F, "\" targetname: \""); PRINT_ENTID(ent); fprintf(F, "\""); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F,"}\n"); va_end(ap); } @@ -379,7 +379,7 @@ static void print_ent_node_edge(FILE *F, const ir_entity *ent, const ir_node *ir va_start(ap, fmt); fprintf(F, "edge: { sourcename: \""); PRINT_ENTID(ent); fprintf(F, "\" targetname: \""); PRINT_NODEID(irn); fprintf(F, "\""); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F,"}\n"); va_end(ap); } @@ -388,14 +388,14 @@ static void print_ent_node_edge(FILE *F, const ir_entity *ent, const ir_node *ir * Prints the edge from a type tp to an enumeration item item with additional info fmt, ... * to the file F. */ -static void print_enum_item_edge(FILE *F, const ir_type *tp, int item, const char *fmt, ...) +static void print_enum_item_edge(FILE *F, const ir_type *tp, size_t item, const char *fmt, ...) { va_list ap; va_start(ap, fmt); fprintf(F, "edge: { sourcename: "); PRINT_TYPEID(tp); fprintf(F, " targetname: \""); PRINT_ITEMID(tp, item); fprintf(F, "\" "); - vfprintf(F, fmt, ap); + ir_vfprintf(F, fmt, ap); fprintf(F,"}\n"); va_end(ap); } @@ -404,7 +404,6 @@ static void print_enum_item_edge(FILE *F, const ir_type *tp, int item, const cha /* global and ahead declarations */ /*-----------------------------------------------------------------*/ -static void dump_node_with_edges(ir_node *n, void *env); static void dump_loop_nodes_into_graph(FILE *F, ir_graph *irg); /*-----------------------------------------------------------------*/ @@ -540,7 +539,7 @@ static void ird_walk_graph(ir_graph *irg, irg_walk_func *pre, irg_walk_func *pos } /** - * Walker, allocates an array for all blocks and puts it's nodes non-floating + * Walker, allocates an array for all blocks and puts their non-floating * nodes into this array. */ static void collect_node(ir_node *node, void *env) @@ -579,7 +578,7 @@ static void collect_node(ir_node *node, void *env) */ static ir_node **construct_block_lists(ir_graph *irg) { - int i; + size_t i; int walk_flag = ir_resources_reserved(irg) & IR_RESOURCE_IRN_VISITED; ir_graph *rem = current_ir_graph; @@ -589,8 +588,8 @@ static ir_node **construct_block_lists(ir_graph *irg) ir_free_resources(irg, IR_RESOURCE_IRN_VISITED); } - for (i = get_irp_n_irgs() - 1; i >= 0; --i) - ird_set_irg_link(get_irp_irg(i), NULL); + for (i = get_irp_n_irgs(); i > 0;) + ird_set_irg_link(get_irp_irg(--i), NULL); ird_walk_graph(current_ir_graph, clear_link, collect_node, current_ir_graph); @@ -691,18 +690,16 @@ void dump_node_opcode(FILE *F, ir_node *n) } break; case iro_Load: - if (get_Load_align(n) == align_non_aligned) + if (get_Load_unaligned(n) == align_non_aligned) fprintf(F, "ua"); fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Load_mode(n), NULL)); break; case iro_Store: - if (get_Store_align(n) == align_non_aligned) + if (get_Store_unaligned(n) == align_non_aligned) fprintf(F, "ua"); fprintf(F, "%s", get_irn_opname(n)); break; case iro_Block: - if (is_Block_dead(n)) - fputs("Dead ", F); if (n == get_irg_start_block(get_irn_irg(n))) fputs("Start ", F); if (n == get_irg_end_block(get_irn_irg(n))) @@ -724,9 +721,6 @@ void dump_node_opcode(FILE *F, ir_node *n) case iro_Mod: fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_Mod_resmode(n), NULL)); break; - case iro_DivMod: - fprintf(F, "%s[%s]", get_irn_opname(n), get_mode_name_ex(get_DivMod_resmode(n), NULL)); - break; case iro_Builtin: fprintf(F, "%s[%s]", get_irn_opname(n), get_builtin_kind_name(get_Builtin_kind(n))); break; @@ -810,8 +804,8 @@ typedef struct proj_lookup { static const pns_lookup_t start_lut[] = { #define X(a) { pn_Start_##a, #a } X(X_initial_exec), + X(M), X(P_frame_base), - X(P_tls), X(T_args), #undef X }; @@ -831,28 +825,6 @@ static const pns_lookup_t call_lut[] = { X(X_regular), X(X_except), X(T_result), - X(P_value_res_base) -#undef X -}; - -/** the lookup table for Proj(Quot) names */ -static const pns_lookup_t quot_lut[] = { -#define X(a) { pn_Quot_##a, #a } - X(M), - X(X_regular), - X(X_except), - X(res) -#undef X -}; - -/** the lookup table for Proj(DivMod) names */ -static const pns_lookup_t divmod_lut[] = { -#define X(a) { pn_DivMod_##a, #a } - X(M), - X(X_regular), - X(X_except), - X(res_div), - X(res_mod) #undef X }; @@ -948,8 +920,6 @@ static const proj_lookup_t proj_lut[] = { { iro_Start, E(start_lut) }, { iro_Cond, E(cond_lut) }, { iro_Call, E(call_lut) }, - { iro_Quot, E(quot_lut) }, - { iro_DivMod, E(divmod_lut) }, { iro_Div, E(div_lut) }, { iro_Mod, E(mod_lut) }, { iro_Load, E(load_lut) }, @@ -988,9 +958,7 @@ static void dump_node_nodeattr(FILE *F, ir_node *n) proj_nr = get_Proj_proj(n); code = get_irn_opcode(pred); - if (code == iro_Cmp) - fprintf(F, "%s ", get_pnc_string(get_Proj_proj(n))); - else if (code == iro_Proj && get_irn_opcode(get_Proj_pred(pred)) == iro_Start) + if (code == iro_Proj && get_irn_opcode(get_Proj_pred(pred)) == iro_Start) fprintf(F, "Arg %ld ", proj_nr); else if (code == iro_Cond && get_irn_mode(get_Cond_selector(pred)) != mode_b) fprintf(F, "%ld ", proj_nr); @@ -1025,8 +993,11 @@ static void dump_node_nodeattr(FILE *F, ir_node *n) case iro_Cast: ir_fprintf(F, "(%+F)", get_Cast_type(n)); break; + case iro_Cmp: + fprintf(F, "%s ", get_relation_string(get_Cmp_relation(n))); + break; case iro_Confirm: - fprintf(F, "%s ", get_pnc_string(get_Confirm_cmp(n))); + fprintf(F, "%s ", get_relation_string(get_Confirm_relation(n))); break; case iro_CopyB: ir_fprintf(F, "(%+F)", get_CopyB_type(n)); @@ -1125,10 +1096,7 @@ static void dump_node_vcgattr(FILE *F, ir_node *node, ir_node *local, int bad) print_vcg_color(F, ird_color_error); break; case iro_Block: - if (is_Block_dead(n)) - print_vcg_color(F, ird_color_dead_block_background); - else - print_vcg_color(F, ird_color_block_background); + print_vcg_color(F, ird_color_block_background); break; case iro_Phi: print_vcg_color(F, ird_color_phi); @@ -1218,8 +1186,7 @@ static void dump_const_node_local(FILE *F, ir_node *n) for (i = 0; i < get_irn_arity(n); i++) { ir_node *con = get_irn_n(n, i); - if (is_constlike_node(con) && !irn_visited(con)) { - mark_irn_visited(con); + if (is_constlike_node(con) && !irn_visited_else_mark(con)) { /* Generate a new name for the node by appending the names of n and const. */ fprintf(F, "node: {title: "); PRINT_CONSTID(n, con); @@ -1395,7 +1362,7 @@ static void print_mem_edge_vcgattr(FILE *F, ir_node *from, int to) fprintf(F, INTER_MEM_EDGE_ATTR); } -/** Print the vcg attributes for the edge from node from to it's to's input */ +/** Print the vcg attributes for the edge from node "from" to its "to"th input */ static void print_edge_vcgattr(FILE *F, ir_node *from, int to) { assert(from); @@ -1587,8 +1554,6 @@ static void dump_whole_block(FILE *F, ir_node *block) /* colorize blocks */ if (! get_Block_matured(block)) color = ird_color_block_background; - if (is_Block_dead(block)) - color = ird_color_dead_block_background; fprintf(F, "\" status:clustered "); print_vcg_color(F, color); @@ -1795,11 +1760,11 @@ void dump_type_node(FILE *F, ir_type *tp) { fprintf(F, "node: {title: "); PRINT_TYPEID(tp); - fprintf(F, " label: \"%s ", get_type_tpop_name(tp)); + fprintf(F, " label: \""); if (tp->dbi != NULL) { - char buf[256]; + char buf[1024]; ir_print_type(buf, sizeof(buf), tp); - fprintf(F, "'%s'", buf); + fprintf(F, "%s '%s'", get_type_tpop_name(tp), buf); } else { ir_fprintf(F, "%+F", tp); } @@ -1828,7 +1793,7 @@ static void dump_entity_node(FILE *F, ir_entity *ent) fprintf(F, "}\n"); } -static void dump_enum_item(FILE *F, ir_type *tp, int pos) +static void dump_enum_item(FILE *F, ir_type *tp, size_t pos) { char buf[1024]; ir_enum_const *ec = get_enumeration_const(tp, pos); @@ -1856,11 +1821,13 @@ static void dump_entity_initializer(FILE *F, const ir_entity *ent) (void) ent; } -/** Dumps a type or entity and it's edges. */ +/** + * type-walker: Dumps a type or entity and its edges. + */ static void dump_type_info(type_or_ent tore, void *env) { FILE *F = (FILE*)env; - int i = 0; /* to shutup gcc */ + size_t i = 0; /* to shutup gcc */ /* dump this type or entity */ @@ -1876,8 +1843,8 @@ static void dump_type_info(type_or_ent tore, void *env) ENT_OWN_EDGE_ATTR "}\n", ent, get_entity_owner(ent));*/ print_ent_type_edge(F,ent, get_entity_type(ent), ENT_TYPE_EDGE_ATTR); if (is_Class_type(get_entity_owner(ent))) { - for (i = get_entity_n_overwrites(ent) - 1; i >= 0; --i) - print_ent_ent_edge(F, ent, get_entity_overwrites(ent, i), 0, ird_color_none, ENT_OVERWRITES_EDGE_ATTR); + for (i = get_entity_n_overwrites(ent); i > 0;) + print_ent_ent_edge(F, ent, get_entity_overwrites(ent, --i), 0, ird_color_none, ENT_OVERWRITES_EDGE_ATTR); } /* attached subgraphs */ if (! (flags & ir_dump_flag_no_entity_values)) { @@ -1886,8 +1853,8 @@ static void dump_type_info(type_or_ent tore, void *env) dump_entity_initializer(F, ent); } else if (entity_has_compound_ent_values(ent)) { /* old style compound entity values */ - for (i = get_compound_ent_n_values(ent) - 1; i >= 0; --i) { - value = get_compound_ent_value(ent, i); + for (i = get_compound_ent_n_values(ent); i > 0;) { + value = get_compound_ent_value(ent, --i); if (value) { print_ent_node_edge(F, ent, value, ENT_VALUE_EDGE_ATTR, i); dump_const_expression(F, value); @@ -1909,41 +1876,57 @@ static void dump_type_info(type_or_ent tore, void *env) /* and now the edges */ switch (get_type_tpop_code(tp)) { case tpo_class: - for (i = get_class_n_supertypes(tp) - 1; i >= 0; --i) + for (i = get_class_n_supertypes(tp); i > 0;) { + --i; print_type_type_edge(F, tp, get_class_supertype(tp, i), TYPE_SUPER_EDGE_ATTR); - for (i = get_class_n_members(tp) - 1; i >= 0; --i) + } + for (i = get_class_n_members(tp); i > 0;) { + --i; print_type_ent_edge(F, tp, get_class_member(tp, i), TYPE_MEMBER_EDGE_ATTR); + } break; case tpo_struct: - for (i = get_struct_n_members(tp) - 1; i >= 0; --i) + for (i = get_struct_n_members(tp); i > 0;) { + --i; print_type_ent_edge(F, tp, get_struct_member(tp, i), TYPE_MEMBER_EDGE_ATTR); + } break; case tpo_method: - for (i = get_method_n_params(tp) - 1; i >= 0; --i) + for (i = get_method_n_params(tp); i > 0;) { + --i; print_type_type_edge(F, tp, get_method_param_type(tp, i), METH_PAR_EDGE_ATTR,i); - for (i = get_method_n_ress(tp) - 1; i >= 0; --i) + } + for (i = get_method_n_ress(tp); i > 0;) { + --i; print_type_type_edge(F, tp, get_method_res_type(tp, i), METH_RES_EDGE_ATTR,i); + } break; case tpo_union: - for (i = get_union_n_members(tp) - 1; i >= 0; --i) + for (i = get_union_n_members(tp); i > 0;) { + --i; print_type_ent_edge(F, tp, get_union_member(tp, i), UNION_EDGE_ATTR); + } break; case tpo_array: print_type_type_edge(F, tp, get_array_element_type(tp), ARR_ELT_TYPE_EDGE_ATTR); print_type_ent_edge(F, tp, get_array_element_entity(tp), ARR_ENT_EDGE_ATTR); - for (i = get_array_n_dimensions(tp) - 1; i >= 0; --i) { - ir_node *upper = get_array_upper_bound(tp, i); - ir_node *lower = get_array_lower_bound(tp, i); - print_node_type_edge(F, upper, tp, "label: \"upper %d\"", get_array_order(tp, i)); - print_node_type_edge(F, lower, tp, "label: \"lower %d\"", get_array_order(tp, i)); + for (i = get_array_n_dimensions(tp); i > 0;) { + ir_node *upper, *lower; + + --i; + upper = get_array_upper_bound(tp, i); + lower = get_array_lower_bound(tp, i); + print_node_type_edge(F, upper, tp, "label: \"upper %zu\"", get_array_order(tp, i)); + print_node_type_edge(F, lower, tp, "label: \"lower %zu\"", get_array_order(tp, i)); dump_const_expression(F, upper); dump_const_expression(F, lower); } break; case tpo_enumeration: - for (i = get_enumeration_n_enums(tp) - 1; i >= 0; --i) { + for (i = get_enumeration_n_enums(tp); i > 0;) { + --i; dump_enum_item(F, tp, i); - print_enum_item_edge(F, tp, i, "label: \"item %d\"", i); + print_enum_item_edge(F, tp, i, "label: \"item %zu\"", i); } break; case tpo_pointer: @@ -1967,7 +1950,7 @@ static void dump_type_info(type_or_ent tore, void *env) static void dump_class_hierarchy_node(type_or_ent tore, void *ctx) { FILE *F = (FILE*)ctx; - int i = 0; /* to shutup gcc */ + size_t i = 0; /* to shutup gcc */ /* dump this type or entity */ switch (get_kind(tore.ent)) { @@ -1982,8 +1965,10 @@ static void dump_class_hierarchy_node(type_or_ent tore, void *ctx) dump_entity_node(F, ent); /* The edges */ print_type_ent_edge(F, get_entity_owner(ent), ent, TYPE_MEMBER_EDGE_ATTR); - for (i = get_entity_n_overwrites(ent) - 1; i >= 0; --i) + for (i = get_entity_n_overwrites(ent); i > 0;) { + --i; print_ent_ent_edge(F, get_entity_overwrites(ent, i), ent, 0, ird_color_none, ENT_OVERWRITES_EDGE_ATTR); + } } break; } @@ -1995,7 +1980,8 @@ static void dump_class_hierarchy_node(type_or_ent tore, void *ctx) case tpo_class: dump_type_node(F, tp); /* and now the edges */ - for (i = get_class_n_supertypes(tp) - 1; i >= 0; --i) { + for (i = get_class_n_supertypes(tp); i > 0;) { + --i; print_type_type_edge(F,tp,get_class_supertype(tp, i),TYPE_SUPER_EDGE_ATTR); } break; @@ -2032,16 +2018,17 @@ static void dump_out_edge(ir_node *n, void *env) static void dump_loop_label(FILE *F, ir_loop *loop) { - fprintf(F, "loop %d, %d sons, %d nodes", - get_loop_depth(loop), get_loop_n_sons(loop), get_loop_n_nodes(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)); } static void dump_loop_info(FILE *F, ir_loop *loop) { fprintf(F, " info1: \""); - fprintf(F, " loop nr: %d", get_loop_loop_nr(loop)); + fprintf(F, " loop nr: %ld", get_loop_loop_nr(loop)); #ifdef DEBUG_libfirm /* GL @@@ debug analyses */ - fprintf(F, "\n The loop was analyzed %d times.", PTR_TO_INT(get_loop_link(loop))); + fprintf(F, "\n The loop was analyzed %ld times.", (long int) PTR_TO_INT(get_loop_link(loop))); #endif fprintf(F, "\""); } @@ -2057,7 +2044,7 @@ static void dump_loop_node(FILE *F, ir_loop *loop) fprintf(F, "}\n"); } -static void dump_loop_node_edge(FILE *F, ir_loop *loop, int i) +static void dump_loop_node_edge(FILE *F, ir_loop *loop, size_t i) { assert(loop); fprintf(F, "edge: {sourcename: \""); @@ -2068,30 +2055,32 @@ static void dump_loop_node_edge(FILE *F, ir_loop *loop, int i) fprintf(F, "}\n"); } -static void dump_loop_son_edge(FILE *F, ir_loop *loop, int i) +static void dump_loop_son_edge(FILE *F, 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)); - fprintf(F, "\" color: darkgreen label: \"%d\"}\n", + ir_fprintf(F, "\" color: darkgreen label: \"%zu\"}\n", get_loop_element_pos(loop, get_loop_son(loop, i))); } static void dump_loops(FILE *F, ir_loop *loop) { - int i; + size_t i; /* 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) - 1; i >= 0; --i) { + for (i = get_loop_n_nodes(loop); i > 0;) { + --i; dump_loop_node_edge(F, loop, i); } } - for (i = get_loop_n_sons(loop) - 1; i >= 0; --i) { + for (i = get_loop_n_sons(loop); i > 0;) { + --i; dump_loops(F, get_loop_son(loop, i)); dump_loop_son_edge(F, loop, i); } @@ -2182,7 +2171,7 @@ void dump_vcg_footer(FILE *F) static void dump_blocks_as_subgraphs(FILE *out, ir_graph *irg) { - int i; + size_t i; construct_block_lists(irg); @@ -2191,8 +2180,8 @@ static void dump_blocks_as_subgraphs(FILE *out, ir_graph *irg) * only the requested irg but also all irgs that can be reached * from irg. */ - for (i = get_irp_n_irgs() - 1; i >= 0; --i) { - ir_graph *irg = get_irp_irg(i); + for (i = get_irp_n_irgs(); i > 0;) { + ir_graph *irg = get_irp_irg(--i); ir_node **arr = (ir_node**)ird_get_irg_link(irg); if (arr == NULL) continue; @@ -2249,7 +2238,7 @@ static void dump_extblock_graph(FILE *F, ir_graph *irg) static void dump_blocks_extbb_grouped(FILE *F, ir_graph *irg) { - int i; + size_t i; ir_entity *ent = get_irg_entity(irg); if (get_irg_extblk_state(irg) != ir_extblk_info_valid) @@ -2265,8 +2254,8 @@ static void dump_blocks_extbb_grouped(FILE *F, ir_graph *irg) dump_graph_info(F, irg); print_dbg_info(F, get_entity_dbg_info(ent)); - for (i = get_irp_n_irgs() - 1; i >= 0; --i) { - ir_graph *irg = get_irp_irg(i); + for (i = get_irp_n_irgs(); i > 0;) { + ir_graph *irg = get_irp_irg(--i); list_tuple *lists = (list_tuple*)ird_get_irg_link(irg); if (lists) { @@ -2420,25 +2409,24 @@ void dump_cfg(FILE *F, ir_graph *irg) void dump_callgraph(FILE *F) { - int i; + size_t i; ir_dump_flags_t old_flags = ir_get_dump_flags(); ir_remove_dump_flags(ir_dump_flag_disable_edge_labels); dump_vcg_header(F, "Callgraph", "Hierarchic", NULL); - for (i = get_irp_n_irgs() - 1; i >= 0; --i) { - ir_graph *irg = get_irp_irg(i); + for (i = get_irp_n_irgs(); i > 0;) { + ir_graph *irg = get_irp_irg(--i); ir_entity *ent = get_irg_entity(irg); - int j; - int n_callees = get_irg_n_callees(irg); + size_t j, n_callees = get_irg_n_callees(irg); dump_entity_node(F, ent); for (j = 0; j < n_callees; ++j) { ir_entity *c = get_irg_entity(get_irg_callee(irg, j)); int be = is_irg_callee_backedge(irg, j); const char *attr = be - ? "label:\"recursion %d\"" - : "label:\"calls %d\""; + ? "label:\"recursion %zu\"" + : "label:\"calls %zu\""; print_ent_ent_edge(F, ent, c, be, ird_color_entity, attr, get_irg_callee_loop_depth(irg, j)); } @@ -2464,7 +2452,10 @@ void dump_class_hierarchy(FILE *out) static void dump_loops_standalone(FILE *F, ir_loop *loop) { - int i = 0, loop_node_started = 0, son_number = 0, first = 0; + size_t i; + bool loop_node_started = false; + size_t first = 0; + size_t son_number = 0; loop_element le; ir_loop *son = NULL; @@ -2485,8 +2476,11 @@ static void dump_loops_standalone(FILE *F, ir_loop *loop) PRINT_LOOPID(loop); fprintf(F, "\" targetname: \""); PRINT_LOOPID(loop); - fprintf(F, "-%d-nodes\" label:\"%d...%d\"}\n", first, first, i-1); - loop_node_started = 0; + fprintf(F, "-%lu-nodes\" label:\"%lu...%lu\"}\n", + (unsigned long) first, + (unsigned long) first, + (unsigned long) i-1); + loop_node_started = false; } dump_loop_son_edge(F, loop, son_number++); dump_loops_standalone(F, son); @@ -2498,8 +2492,9 @@ static void dump_loops_standalone(FILE *F, ir_loop *loop) /* Start a new node which contains all firm nodes of the current loop */ fprintf(F, "node: { title: \""); PRINT_LOOPID(loop); - fprintf(F, "-%d-nodes\" color: lightyellow label: \"", i); - loop_node_started = 1; + fprintf(F, "-%lu-nodes\" color: lightyellow label: \"", + (unsigned long)i); + loop_node_started = true; first = i; } else fprintf(F, "\n"); @@ -2517,8 +2512,9 @@ static void dump_loops_standalone(FILE *F, ir_loop *loop) /* Start a new node which contains all firm nodes of the current loop */ fprintf(F, "node: { title: \""); PRINT_LOOPID(loop); - fprintf(F, "-%d-nodes\" color: lightyellow label: \"", i); - loop_node_started = 1; + fprintf(F, "-%lu-nodes\" color: lightyellow label: \"", + (unsigned long)i); + loop_node_started = true; first = i; } else fprintf(F, "\n"); @@ -2533,8 +2529,11 @@ static void dump_loops_standalone(FILE *F, ir_loop *loop) PRINT_LOOPID(loop); fprintf(F, "\" targetname: \""); PRINT_LOOPID(loop); - fprintf(F, "-%d-nodes\" label:\"%d...%d\"}\n", first, first, i-1); - loop_node_started = 0; + fprintf(F, "-%lu-nodes\" label:\"%lu...%lu\"}\n", + (unsigned long) first, + (unsigned long) first, + (unsigned long) i-1); + loop_node_started = false; } } @@ -2566,7 +2565,9 @@ void dump_callgraph_loop_tree(FILE *out) static void collect_nodeloop(FILE *F, ir_loop *loop, eset *loopnodes) { - int i, son_number = 0, node_number = 0; + size_t i; + int son_number = 0; + int node_number = 0; if (flags & ir_dump_flag_loops) dump_loop_node(F, loop); @@ -2589,7 +2590,8 @@ static void collect_nodeloop(FILE *F, ir_loop *loop, eset *loopnodes) static void collect_nodeloop_external_nodes(ir_loop *loop, eset *loopnodes, eset *extnodes) { - int i, j, start; + size_t i; + int j, start; for (i = 0; i < get_loop_n_elements(loop); i++) { loop_element le = get_loop_element(loop, i); @@ -2619,7 +2621,7 @@ void dump_loop(FILE *F, ir_loop *l) ir_node *n, *b; char name[50]; - snprintf(name, sizeof(name), "loop_%d", get_loop_loop_nr(l)); + snprintf(name, sizeof(name), "loop_%ld", get_loop_loop_nr(l)); dump_vcg_header(F, name, NULL, NULL); /* collect all nodes to dump */ @@ -2654,7 +2656,7 @@ void dump_loop(FILE *F, ir_loop *l) PRINT_NODEID(b); fprintf(F, "\" label: \""); dump_node_opcode(F, b); - fprintf(F, " %ld:%d", get_irn_node_nr(b), get_irn_idx(b)); + fprintf(F, " %ld:%u", get_irn_node_nr(b), get_irn_idx(b)); fprintf(F, "\" status:clustered color:yellow\n"); /* dump the blocks edges */ @@ -2681,7 +2683,7 @@ void dump_loop(FILE *F, ir_loop *l) PRINT_NODEID(b); fprintf(F, "\" label: \""); dump_node_opcode(F, b); - fprintf(F, " %ld:%d", get_irn_node_nr(b), get_irn_idx(b)); + fprintf(F, " %ld:%u", get_irn_node_nr(b), get_irn_idx(b)); fprintf(F, "\" status:clustered color:lightblue\n"); /* dump the nodes that go into the block */ @@ -2820,8 +2822,7 @@ void dump_ir_graph(ir_graph *graph, const char *suffix) void dump_all_ir_graphs(const char *suffix) { - int n_irgs = get_irp_n_irgs(); - int i; + size_t i, n_irgs = get_irp_n_irgs(); for (i = 0; i < n_irgs; ++i) { ir_graph *irg = get_irp_irg(i);