liveness variants with ir_nodeset_t
[libfirm] / ir / be / TEMPLATE / bearch_TEMPLATE.c
index dbdb59f..60b3a27 100644 (file)
@@ -134,7 +134,9 @@ static void TEMPLATE_set_irn_reg(const void *self, ir_node *irn, const arch_regi
        }
 }
 
-static const arch_register_t *TEMPLATE_get_irn_reg(const void *self, const ir_node *irn) {
+static
+const arch_register_t *TEMPLATE_get_irn_reg(const void *self,
+                                            const ir_node *irn) {
        int pos = 0;
        const arch_register_t *reg = NULL;
 
@@ -144,8 +146,8 @@ static const arch_register_t *TEMPLATE_get_irn_reg(const void *self, const ir_no
        }
 
        if (is_TEMPLATE_irn(irn)) {
-               const arch_register_t **slots;
-               slots = get_TEMPLATE_slots(irn);
+               const arch_register_t * const *slots;
+               slots = get_TEMPLATE_slots_const(irn);
                reg   = slots[pos];
        }
        else {
@@ -351,6 +353,8 @@ static TEMPLATE_isa_t TEMPLATE_isa_template = {
                &TEMPLATE_general_purpose_regs[REG_BP],  /* base pointer register */
                -1,                          /* stack direction */
                NULL,                        /* main environment */
+               7,                           /* costs for a spill instruction */
+               5,                           /* costs for a reload instruction */
        },
        { NULL, },                       /* emitter environment */
 };