X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2FTEMPLATE%2Fbearch_TEMPLATE.c;h=90cefe6b0694ed477c9c879bbf568dee6ec90317;hb=fc2759fa267ba4b074c2ac570c1b9d47cc943612;hp=0629ad4f9fd373367adca7a10c294e8285b1dbf5;hpb=cf9c1673146d1f45d46ceb77eccfaf10fedff25d;p=libfirm diff --git a/ir/be/TEMPLATE/bearch_TEMPLATE.c b/ir/be/TEMPLATE/bearch_TEMPLATE.c index 0629ad4f9..90cefe6b0 100644 --- a/ir/be/TEMPLATE/bearch_TEMPLATE.c +++ b/ir/be/TEMPLATE/bearch_TEMPLATE.c @@ -359,7 +359,7 @@ static TEMPLATE_isa_t TEMPLATE_isa_template = { &TEMPLATE_general_purpose_regs[REG_SP], /* stack pointer register */ &TEMPLATE_general_purpose_regs[REG_BP], /* base pointer register */ -1, /* stack direction */ - 1, /* stack alignment for calls */ + 2, /* power of two stack alignment for calls, 2^2 == 4 */ NULL, /* main environment */ 7, /* costs for a spill instruction */ 5, /* costs for a reload instruction */ @@ -496,11 +496,12 @@ static void TEMPLATE_abi_dont_save_regs(void *self, pset *s) * Build the prolog, return the BASE POINTER register */ static const arch_register_t *TEMPLATE_abi_prologue(void *self, ir_node **mem, - pmap *reg_map) + pmap *reg_map, int *stack_bias) { TEMPLATE_abi_env_t *env = self; (void) reg_map; (void) mem; + (void) stack_bias; if(env->flags.try_omit_fp) return env->arch_env->sp; @@ -633,11 +634,13 @@ static const backend_params *TEMPLATE_get_backend_params(void) { static backend_params p = { 0, /* no dword lowering */ 0, /* no inline assembly */ + 0, /* no immediate floating point mode. */ NULL, /* no additional opcodes */ NULL, /* will be set later */ NULL, /* no creator function */ NULL, /* context for create_intrinsic_fkt */ NULL, /* parameter for if conversion */ + NULL /* no immediate fp mode */ }; return &p; } @@ -668,6 +671,20 @@ static ir_graph **TEMPLATE_get_backend_irg_list(const void *self, return NULL; } +static asm_constraint_flags_t TEMPLATE_parse_asm_constraint(const void *self, + const char **c) +{ + (void) self; + (void) c; + return ASM_CONSTRAINT_FLAG_INVALID; +} + +static int TEMPLATE_is_valid_clobber(const void *self, const char *clobber) +{ + (void) self; + (void) clobber; + return 0; +} const arch_isa_if_t TEMPLATE_isa_if = { TEMPLATE_init, @@ -683,7 +700,9 @@ const arch_isa_if_t TEMPLATE_isa_if = { TEMPLATE_get_backend_params, TEMPLATE_get_allowed_execution_units, TEMPLATE_get_machine, - TEMPLATE_get_backend_irg_list + TEMPLATE_get_backend_irg_list, + TEMPLATE_parse_asm_constraint, + TEMPLATE_is_valid_clobber }; void be_init_arch_TEMPLATE(void)