X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeabi.c;h=880a3c3b8f322fc87333835cedacdb583502404f;hb=98166013d0e2d13be5820f9831bcd2d2b9ea65dd;hp=db8546db91086151a566a6bed386a55823566130;hpb=dbd7da6aa846ae8eaeb852c5a139d56409551c78;p=libfirm diff --git a/ir/be/beabi.c b/ir/be/beabi.c index db8546db9..880a3c3b8 100644 --- a/ir/be/beabi.c +++ b/ir/be/beabi.c @@ -315,7 +315,7 @@ static ir_entity *search_ent_with_offset(ir_type *t, int offset) { int i, n; - for(i = 0, n = get_compound_n_members(t); i < n; ++i) { + for (i = 0, n = get_compound_n_members(t); i < n; ++i) { ir_entity *ent = get_compound_member(t, i); if (get_entity_offset(ent) == offset) return ent; @@ -359,7 +359,7 @@ static be_stack_layout_t *stack_frame_init(be_stack_layout_t *frame, ir_type *ar frame->order[1] = between; frame->param_map = param_map; - if(stack_dir > 0) { + if (stack_dir > 0) { frame->order[0] = args; frame->order[2] = locals; } @@ -550,10 +550,10 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp) /* Make the expression to compute the argument's offset. */ if (curr_ofs > 0) { ir_mode *constmode = mach_mode; - if(mode_is_reference(mach_mode)) { + if (mode_is_reference(mach_mode)) { constmode = mode_Is; } - addr = new_r_Const_long(irg, bl, constmode, curr_ofs); + addr = new_r_Const_long(irg, constmode, curr_ofs); addr = new_r_Add(irg, bl, curr_sp, addr, mach_mode); } } @@ -620,7 +620,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp) const ir_edge_t *res_edge; ir_node *irn = get_edge_src_irn(edge); - if(!is_Proj(irn) || get_Proj_proj(irn) != pn_Call_T_result) + if (!is_Proj(irn) || get_Proj_proj(irn) != pn_Call_T_result) continue; foreach_out_edge(irn, res_edge) { @@ -682,7 +682,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp) arch_register_req_type_ignore | arch_register_req_type_produces_sp); arch_set_irn_register(curr_sp, sp); - for(i = 0; i < n_res; ++i) { + for (i = 0; i < n_res; ++i) { int pn; ir_node *proj = res_projs[i]; be_abi_call_arg_t *arg = get_call_arg(call, 1, i); @@ -697,7 +697,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp) */ pn = i + pn_be_Call_first_res; - if(proj == NULL) { + if (proj == NULL) { ir_type *res_type = get_method_res_type(call_tp, i); ir_mode *mode = get_type_mode(res_type); proj = new_r_Proj(irg, bl, low_call, mode, pn); @@ -776,7 +776,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp) curr_res_proj++; } - for(i = 0; i < n_reg_results; ++i) { + for (i = 0; i < n_reg_results; ++i) { ir_node *proj = res_projs[i]; const arch_register_t *reg = arch_get_irn_register(proj); set_irn_link(proj, (void*) reg); @@ -803,7 +803,7 @@ static ir_node *adjust_call(be_abi_irg_t *env, ir_node *irn, ir_node *curr_sp) foreach_out_edge(low_call, edge) { ir_node *irn = get_edge_src_irn(edge); - if(is_Proj(irn) && get_Proj_proj(irn) == pn_Call_M) { + if (is_Proj(irn) && get_Proj_proj(irn) == pn_Call_M) { mem_proj = irn; break; } @@ -851,11 +851,11 @@ static ir_node *adjust_alloc_size(unsigned stack_alignment, ir_node *size, mode = get_irn_mode(size); tv = new_tarval_from_long(stack_alignment-1, mode); - mask = new_r_Const(irg, block, mode, tv); + mask = new_r_Const(irg, mode, tv); size = new_rd_Add(dbg, irg, block, size, mask, mode); tv = new_tarval_from_long(-(long)stack_alignment, mode); - mask = new_r_Const(irg, block, mode, tv); + mask = new_r_Const(irg, mode, tv); size = new_rd_And(dbg, irg, block, size, mask, mode); } return size; @@ -909,18 +909,16 @@ static ir_node *adjust_alloc(be_abi_irg_t *env, ir_node *alloc, ir_node *curr_sp return curr_sp; } - dbg = get_irn_dbg_info(alloc); + dbg = get_irn_dbg_info(alloc); + size = get_Alloc_size(alloc); /* we might need to multiply the size with the element size */ if (type != firm_unknown_type && get_type_size_bytes(type) != 1) { + ir_mode *mode = get_irn_mode(size); tarval *tv = new_tarval_from_long(get_type_size_bytes(type), - mode_Iu); - ir_node *cnst = new_rd_Const(dbg, irg, block, mode_Iu, tv); - ir_node *mul = new_rd_Mul(dbg, irg, block, get_Alloc_size(alloc), - cnst, mode_Iu); - size = mul; - } else { - size = get_Alloc_size(alloc); + mode); + ir_node *cnst = new_rd_Const(dbg, irg, mode, tv); + size = new_rd_Mul(dbg, irg, block, size, cnst, mode); } /* The stack pointer will be modified in an unknown manner. @@ -932,7 +930,7 @@ static ir_node *adjust_alloc(be_abi_irg_t *env, ir_node *alloc, ir_node *curr_sp new_alloc = be_new_AddSP(env->arch_env->sp, irg, block, curr_sp, size); set_irn_dbg_info(new_alloc, dbg); - if(alloc_mem != NULL) { + if (alloc_mem != NULL) { ir_node *addsp_mem; ir_node *sync; @@ -985,7 +983,7 @@ static ir_node *adjust_free(be_abi_irg_t *env, ir_node *free, ir_node *curr_sp) /* we might need to multiply the size with the element size */ if (type != firm_unknown_type && get_type_size_bytes(type) != 1) { tarval *tv = new_tarval_from_long(get_type_size_bytes(type), mode_Iu); - ir_node *cnst = new_rd_Const(dbg, irg, block, mode_Iu, tv); + ir_node *cnst = new_rd_Const(dbg, irg, mode_Iu, tv); ir_node *mul = new_rd_Mul(dbg, irg, block, get_Free_size(free), cnst, mode_Iu); size = mul; @@ -1040,7 +1038,7 @@ static int check_dependence(ir_node *curr, ir_node *tgt, ir_node *bl) /* Phi functions stop the recursion inside a basic block */ if (! is_Phi(curr)) { - for(i = 0, n = get_irn_arity(curr); i < n; ++i) { + for (i = 0, n = get_irn_arity(curr); i < n; ++i) { if (check_dependence(get_irn_n(curr, i), tgt, bl)) return 1; } @@ -1263,7 +1261,7 @@ static int cmp_regs(const void *a, const void *b) const reg_node_map_t *p = a; const reg_node_map_t *q = b; - if(p->reg->reg_class == q->reg->reg_class) + if (p->reg->reg_class == q->reg->reg_class) return p->reg->index - q->reg->index; else return p->reg->reg_class - q->reg->reg_class; @@ -1312,7 +1310,7 @@ static ir_node *create_barrier(be_abi_irg_t *env, ir_node *bl, ir_node **mem, pm irn = be_new_Barrier(irg, bl, n, in); obstack_free(&env->obst, in); - for(n = 0; n < n_regs; ++n) { + for (n = 0; n < n_regs; ++n) { ir_node *pred = rm[n].irn; const arch_register_t *reg = rm[n].reg; arch_register_type_t add_type = 0; @@ -1397,7 +1395,7 @@ static ir_node *create_be_return(be_abi_irg_t *env, ir_node *irn, ir_node *bl, /* Add uses of the callee save registers. */ foreach_pmap(env->regs, ent) { const arch_register_t *reg = ent->key; - if(arch_register_type_is(reg, callee_save) || arch_register_type_is(reg, ignore)) + if (arch_register_type_is(reg, callee_save) || arch_register_type_is(reg, ignore)) pmap_insert(reg_map, ent->key, ent->value); } @@ -1865,7 +1863,7 @@ static void modify_irg(be_abi_irg_t *env) ir_node *addr = be_new_FrameAddr(sp->reg_class, irg, reg_params_bl, frame_pointer, arg->stack_ent); /* For atomic parameters which are actually used, we create a Load node. */ - if(is_atomic_type(param_type) && get_irn_n_edges(args[i]) > 0) { + if (is_atomic_type(param_type) && get_irn_n_edges(args[i]) > 0) { ir_mode *mode = get_type_mode(param_type); ir_mode *load_mode = arg->load_mode; @@ -2219,8 +2217,8 @@ void be_abi_put_ignore_regs(be_abi_irg_t *abi, const arch_register_class_t *cls, { arch_register_t *reg; - for(reg = pset_first(abi->ignore_regs); reg; reg = pset_next(abi->ignore_regs)) - if(reg->reg_class == cls) + for (reg = pset_first(abi->ignore_regs); reg; reg = pset_next(abi->ignore_regs)) + if (reg->reg_class == cls) bitset_set(bs, reg->index); } @@ -2313,9 +2311,9 @@ void be_abi_fix_stack_nodes(be_abi_irg_t *env) be_ssa_construction_fix_users_array(&senv, walker_env.sp_nodes, ARR_LEN(walker_env.sp_nodes)); - if(lv != NULL) { + if (lv != NULL) { len = ARR_LEN(walker_env.sp_nodes); - for(i = 0; i < len; ++i) { + for (i = 0; i < len; ++i) { be_liveness_update(lv, walker_env.sp_nodes[i]); } be_ssa_construction_update_liveness_phis(&senv, lv); @@ -2325,7 +2323,7 @@ void be_abi_fix_stack_nodes(be_abi_irg_t *env) /* set register requirements for stack phis */ len = ARR_LEN(phis); - for(i = 0; i < len; ++i) { + for (i = 0; i < len; ++i) { ir_node *phi = phis[i]; be_set_phi_reg_req(phi, &env->sp_req, arch_register_req_type_produces_sp); arch_set_irn_register(phi, env->arch_env->sp);