Remove the unused regs_saved_by_me hook.
[libfirm] / ir / be / ia32 / bearch_ia32.c
index 965b211..9e65fdb 100644 (file)
@@ -393,19 +393,6 @@ static int ia32_get_sp_bias(const ir_node *node)
        return 0;
 }
 
-/**
- * Put all registers which are saved by the prologue/epilogue in a set.
- *
- * @param self  The callback object.
- * @param s     The result set.
- */
-static void ia32_abi_dont_save_regs(void *self, pset *s)
-{
-       ia32_abi_env_t *env = self;
-       if(env->flags.try_omit_fp)
-               pset_insert_ptr(s, env->aenv->bp);
-}
-
 /**
  * Generate the routine prologue.
  *
@@ -898,7 +885,6 @@ static const be_abi_callbacks_t ia32_abi_callbacks = {
        ia32_abi_init,
        ia32_abi_done,
        ia32_abi_get_between_type,
-       ia32_abi_dont_save_regs,
        ia32_abi_prologue,
        ia32_abi_epilogue
 };
@@ -1014,13 +1000,6 @@ static void ia32_prepare_graph(void *self) {
                be_dump(cg->irg, "-place", dump_ir_block_graph_sched);
 }
 
-/**
- * Dummy functions for hooks we don't need but which must be filled.
- */
-static void ia32_before_sched(void *self) {
-       (void) self;
-}
-
 ir_node *turn_back_am(ir_node *node)
 {
        ir_graph *irg   = current_ir_graph;
@@ -1314,19 +1293,18 @@ static ir_node* create_spproj(ir_node *node, ir_node *pred, int pos)
  * push/pop into/from memory cascades. This is possible without using
  * any registers.
  */
-static void transform_MemPerm(ia32_code_gen_t *cg, ir_node *node) {
-       ir_graph *irg = get_irn_irg(node);
-       ir_node *block = get_nodes_block(node);
-       ir_node *in[1];
-       ir_node *keep;
-       int i, arity;
-       ir_node *sp = be_abi_get_ignore_irn(cg->birg->abi, &ia32_gp_regs[REG_ESP]);
+static void transform_MemPerm(ia32_code_gen_t *cg, ir_node *node)
+{
+       ir_graph        *irg   = get_irn_irg(node);
+       ir_node         *block = get_nodes_block(node);
+       ir_node         *sp    = be_abi_get_ignore_irn(cg->birg->abi, &ia32_gp_regs[REG_ESP]);
+       int              arity = be_get_MemPerm_entity_arity(node);
+       ir_node        **pops  = ALLOCAN(ir_node*, arity);
+       ir_node         *in[1];
+       ir_node         *keep;
+       int              i;
        const ir_edge_t *edge;
        const ir_edge_t *next;
-       ir_node **pops;
-
-       arity = be_get_MemPerm_entity_arity(node);
-       pops = alloca(arity * sizeof(pops[0]));
 
        /* create Pushs */
        for(i = 0; i < arity; ++i) {
@@ -1590,7 +1568,6 @@ static const arch_code_generator_if_t ia32_code_gen_if = {
        ia32_before_abi,     /* before abi introduce hook */
        ia32_prepare_graph,
        NULL,                /* spill */
-       ia32_before_sched,   /* before scheduling hook */
        ia32_before_ra,      /* before register allocation hook */
        ia32_after_ra,       /* after register allocation hook */
        ia32_finish,         /* called before codegen */