static unsigned *delay_slot_fillers;
static pmap *delay_slots;
-static void sparc_emit_node(const ir_node *node);
static bool emitting_delay_slot;
/**
if (filler != NULL) {
assert(!is_no_instruction(filler));
assert(!emits_multiple_instructions(filler));
- sparc_emit_node(filler);
+ be_emit_node(filler);
} else {
sparc_emitf(NULL, "nop");
}
be_set_emitter(op_sparc_Start, be_emit_nothing);
}
-/**
- * Emits code for a node.
- */
-static void sparc_emit_node(const ir_node *node)
-{
- ir_op *op = get_irn_op(node);
-
- if (op->ops.generic) {
- emit_func *func = (emit_func*)op->ops.generic;
- be_dwarf_location(get_irn_dbg_info(node));
- (*func) (node);
- } else {
- panic("No emit handler for node %+F (graph %+F)\n", node,
- get_irn_irg(node));
- }
-}
-
static bool block_needs_label(const ir_node *block, const ir_node *sched_prev)
{
if (get_Block_entity(block) != NULL)
sched_foreach(block, node) {
if (rbitset_is_set(delay_slot_fillers, get_irn_idx(node)))
continue;
- sparc_emit_node(node);
+ be_emit_node(node);
}
}