dbg_info *dbgi = get_irn_dbg_info(node);
ir_node *ptr = get_irn_n(node, n_be_Spill_frame);
ir_graph *irg = get_irn_irg(node);
- ir_node *mem = new_r_NoMem(irg);
+ ir_node *mem = get_irg_no_mem(irg);
ir_node *val = get_irn_n(node, n_be_Spill_val);
ir_mode *mode = get_irn_mode(val);
ir_entity *entity = be_get_frame_entity(node);
be_free_frame_entity_coalescer(fec_env);
irg_block_walk_graph(irg, NULL, sparc_after_ra_walker, NULL);
+
+ sparc_introduce_prolog_epilog(irg);
}
static void sparc_init_graph(ir_graph *irg)
&sparc_registers[REG_SP], /* stack pointer register */
&sparc_registers[REG_FRAME_POINTER],/* base pointer register */
&sparc_reg_classes[CLASS_sparc_gp], /* link pointer register class */
- -1, /* stack direction */
3, /* power of two stack alignment
for calls */
NULL, /* main environment */
static arch_env_t *sparc_init(FILE *outfile)
{
sparc_isa_t *isa = XMALLOC(sparc_isa_t);
- memcpy(isa, &sparc_isa_template, sizeof(*isa));
+ *isa = sparc_isa_template;
isa->constants = pmap_create();
be_emit_init(outfile);