X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firprofile.c;h=5ff78fec12617dae798497c00e0a5292ea47b9b4;hb=7719bf6a7bd442f4763731d56d856cb082156877;hp=e47cc5dbe0d8f06a7cf9658e7bc831c083f9a886;hpb=e9788b1182b08e303f11c0df45a8a2f72955e520;p=libfirm diff --git a/ir/ir/irprofile.c b/ir/ir/irprofile.c index e47cc5dbe..5ff78fec1 100644 --- a/ir/ir/irprofile.c +++ b/ir/ir/irprofile.c @@ -126,12 +126,12 @@ static void instrument_block(ir_node *bb, ir_node *address, unsigned int id) cnst = new_r_Const_long(irg, mode_Iu, get_mode_size_bytes(mode_Iu) * id); offset = new_r_Add(bb, address, cnst, get_modeP_data()); load = new_r_Load(bb, unknown, offset, mode_Iu, 0); - projm = new_r_Proj(bb, load, mode_M, pn_Load_M); - proji = new_r_Proj(bb, load, mode_Iu, pn_Load_res); + projm = new_r_Proj(load, mode_M, pn_Load_M); + proji = new_r_Proj(load, mode_Iu, pn_Load_res); cnst = new_r_Const_long(irg, mode_Iu, 1); add = new_r_Add(bb, proji, cnst, mode_Iu); store = new_r_Store(bb, projm, offset, add, 0); - projm = new_r_Proj(bb, store, mode_M, pn_Store_M); + projm = new_r_Proj(store, mode_M, pn_Store_M); set_irn_link(bb, projm); set_irn_link(projm, load); } @@ -241,7 +241,7 @@ static ir_graph *gen_initializer_irg(ir_entity *ent_filename, ir_entity *bblock_ ins[3] = new_r_Const_long(irg, mode_Iu, n_blocks); call = new_r_Call(bb, get_irg_initial_mem(irg), symconst, 4, ins, init_type); - ret = new_r_Return(bb, new_r_Proj(bb, call, mode_M, pn_Call_M), 0, NULL); + ret = new_r_Return(bb, new_r_Proj(call, mode_M, pn_Call_M), 0, NULL); mature_immBlock(bb); add_immBlock_pred(get_irg_end_block(irg), ret); @@ -274,11 +274,11 @@ static void create_location_data(dbg_info *dbg, block_id_walker_data_t *wd) int i, len = strlen(fname) + 1; tarval **tarval_string; - snprintf(buf, sizeof(buf), "firm_name_arr.%d", nr); + snprintf(buf, sizeof(buf), "firm_name_arr.%u", nr); arr = new_type_array(1, wd->tp_char); set_array_bounds_int(arr, 0, 0, len); - snprintf(buf, sizeof(buf), "__firm_name.%d", nr++); + snprintf(buf, sizeof(buf), "__firm_name.%u", nr++); id = new_id_from_str(buf); ent = new_entity(get_glob_type(), id, arr); set_entity_ld_ident(ent, id); @@ -341,7 +341,6 @@ ir_graph *ir_profile_instrument(const char *filename, unsigned flags) ir_type *loc_type = NULL; ir_type *charptr_type; ir_type *gtp; - ir_node *start_block; tarval **tarval_array; tarval **tarval_string; tarval *tv; @@ -460,7 +459,6 @@ ir_graph *ir_profile_instrument(const char *filename, unsigned flags) wd.symconst = new_r_SymConst(irg, mode_P_data, sym, symconst_addr_ent); irg_block_walk_graph(irg, block_id_walker, NULL, &wd); - start_block = get_irg_start_block(irg); env.end_block = get_irg_end_block(irg); irg_block_walk_graph(irg, fix_ssa, NULL, &env); for (i = get_Block_n_cfgpreds(endbb) - 1; i >= 0; --i) { @@ -524,6 +522,7 @@ ir_graph *ir_profile_instrument(const char *filename, unsigned flags) add_compound_ent_value_w_path(ent_locations, n, path); } pmap_destroy(wd.fname_map); + current_ir_graph = rem; } return gen_initializer_irg(ent_filename, bblock_id, bblock_counts, n_blocks); }