From: Christoph Mallon Date: Fri, 16 Sep 2011 05:55:29 +0000 (+0200) Subject: Replace magic 4 by SPARC_REGISTER_SIZE. X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=4ed3e26c1e5360b78016dd64077e32fe5e8a3915;p=libfirm Replace magic 4 by SPARC_REGISTER_SIZE. --- diff --git a/ir/be/sparc/bearch_sparc_t.h b/ir/be/sparc/bearch_sparc_t.h index 91a4a15ce..2bb7b6d42 100644 --- a/ir/be/sparc/bearch_sparc_t.h +++ b/ir/be/sparc/bearch_sparc_t.h @@ -74,13 +74,14 @@ extern const arch_irn_ops_t sparc_irn_ops; * param 0-5 in this spaces and then handle va_next by simply * incrementing the stack pointer */ -#define SPARC_IMMEDIATE_MIN -4096 -#define SPARC_IMMEDIATE_MAX 4095 -#define SPARC_MIN_STACKSIZE 92 -#define SPARC_AGGREGATE_RETURN_OFFSET 64 -#define SPARC_PARAMS_SPILL_OFFSET 68 -#define SPARC_N_PARAM_REGS 6 -#define SPARC_STACK_ALIGNMENT 8 +#define SPARC_IMMEDIATE_MIN -4096 +#define SPARC_IMMEDIATE_MAX 4095 +#define SPARC_MIN_STACKSIZE 92 +#define SPARC_AGGREGATE_RETURN_OFFSET 64 +#define SPARC_PARAMS_SPILL_OFFSET 68 +#define SPARC_N_PARAM_REGS 6 +#define SPARC_STACK_ALIGNMENT 8 +#define SPARC_REGISTER_SIZE 4 static inline bool sparc_is_value_imm_encodeable(int32_t value) { diff --git a/ir/be/sparc/sparc_cconv.c b/ir/be/sparc/sparc_cconv.c index d7a16298b..084e84dd9 100644 --- a/ir/be/sparc/sparc_cconv.c +++ b/ir/be/sparc/sparc_cconv.c @@ -246,8 +246,8 @@ calling_convention_t *sparc_decide_calling_convention(ir_type *function_type, } else { param->type = param_type; param->offset = stack_offset; - /* increase offset 4 bytes so everything is aligned */ - stack_offset += bits > 32 ? bits/8 : 4; + /* increase offset by at least SPARC_REGISTER_SIZE bytes so everything is aligned */ + stack_offset += bits > 8 * SPARC_REGISTER_SIZE ? bits / 8 : SPARC_REGISTER_SIZE; continue; } @@ -269,7 +269,7 @@ calling_convention_t *sparc_decide_calling_convention(ir_type *function_type, param->type = type; param->offset = stack_offset; assert(get_mode_size_bits(regmode) == 32); - stack_offset += 4; + stack_offset += SPARC_REGISTER_SIZE; } } } diff --git a/ir/be/sparc/sparc_emitter.c b/ir/be/sparc/sparc_emitter.c index 617fb0a5d..16e92484b 100644 --- a/ir/be/sparc/sparc_emitter.c +++ b/ir/be/sparc/sparc_emitter.c @@ -577,7 +577,7 @@ static void emit_be_Perm(const ir_node *irn) * the next bigger integer that's evenly divisible by it. */ static unsigned get_aligned_sp_change(unsigned const memperm_arity) { - const unsigned bytes = memperm_arity * 4; + const unsigned bytes = memperm_arity * SPARC_REGISTER_SIZE; return round_up2(bytes, SPARC_STACK_ALIGNMENT); } @@ -616,14 +616,14 @@ static void emit_be_MemPerm(const ir_node *node) /* load from entity */ be_emit_irprintf("\tld [%%fp%+d], %%l%d", offset, i); be_emit_finish_line_gas(node); - sp_change += 4; + sp_change += SPARC_REGISTER_SIZE; } for (i = memperm_arity-1; i >= 0; --i) { ir_entity *entity = be_get_MemPerm_out_entity(node, i); int offset = be_get_stack_entity_offset(layout, entity, 0); - sp_change -= 4; + sp_change -= SPARC_REGISTER_SIZE; /* store to new entity */ be_emit_irprintf("\tst %%l%d, [%%fp%+d]", i, offset); diff --git a/ir/be/sparc/sparc_stackframe.c b/ir/be/sparc/sparc_stackframe.c index 1ed784ed2..8ee9abd59 100644 --- a/ir/be/sparc/sparc_stackframe.c +++ b/ir/be/sparc/sparc_stackframe.c @@ -216,7 +216,7 @@ static ir_type *compute_arg_type(ir_graph *irg, calling_convention_t *cconv, if (param->reg0 != NULL) { /* use reserved spill space on between type */ if (entity != NULL) { - long offset = SPARC_PARAMS_SPILL_OFFSET + i*4; + long offset = SPARC_PARAMS_SPILL_OFFSET + i * SPARC_REGISTER_SIZE; assert(i < SPARC_N_PARAM_REGS); set_entity_owner(entity, between_type); set_entity_offset(entity, offset);