be_emit_finish_line_gas(node);
fill_delay_slot();
- emit_jump_table(node, attr->default_proj_num, attr->jump_table,
- get_jump_target);
+ be_emit_jump_table(node, attr->table, attr->table_entity, get_jump_target);
}
static void emit_fmov(const ir_node *node, const arch_register_t *src_reg,
*/
static void sparc_emit_func_prolog(ir_graph *irg)
{
- ir_entity *ent = get_irg_entity(irg);
- be_gas_emit_function_prolog(ent, 4);
- be_emit_write_line();
+ ir_entity *entity = get_irg_entity(irg);
+ be_gas_emit_function_prolog(entity, 4);
}
/**
*/
static void sparc_emit_func_epilog(ir_graph *irg)
{
- ir_entity *ent = get_irg_entity(irg);
- const char *irg_name = get_entity_ld_name(ent);
- be_emit_write_line();
- be_emit_irprintf("\t.size %s, .-%s\n", irg_name, irg_name);
- be_emit_cstring("# -- End ");
- be_emit_string(irg_name);
- be_emit_cstring("\n");
- be_emit_write_line();
+ ir_entity *entity = get_irg_entity(irg);
+ be_gas_emit_function_epilog(entity);
}
static void sparc_gen_labels(ir_node *block, void *env)
void sparc_emit_routine(ir_graph *irg)
{
- ir_entity *entity = get_irg_entity(irg);
- ir_node **block_schedule;
- size_t i;
- size_t n;
+ ir_node **block_schedule;
+ size_t i;
+ size_t n;
heights = heights_new(irg);
/* register all emitter functions */
sparc_register_emitters();
- be_dbg_method_begin(entity);
/* create the block schedule. For now, we don't need it earlier. */
block_schedule = be_create_block_schedule(irg);