Improved start sets for blocks with one pred.
[libfirm] / ir / be / beraextern.c
index ed05940..aba3d24 100644 (file)
@@ -7,8 +7,8 @@
  * Implementation of the RA-Interface for an external, (non-SSA) register allocator.
  *
  * The external register allocator is a program taking 2 arguments:
- *   1) An input file in which the cfg is defined
- *   2) An output file containing the essential actions performed during allocation
+ *   1) An input file in which the interference graph is defined
+ *   2) An output file containing the instructions to perform
  *
 
 
@@ -200,7 +200,7 @@ static void handle_constraints_walker(ir_node *irn, void *env) {
                        set_irn_n(irn, pos, cpy);
 
                        /* set an out constraint for the copy */
-                       arch_set_register_req(raenv->aenv, -1, &req);
+                       be_set_constr_limited(cpy, -1, &req);
                }
        }
 }
@@ -591,7 +591,7 @@ static void dump_affinities_walker(ir_node *irn, void *env) {
                arch_get_register_req(raenv->aenv, &req, irn, pos);
 
                if (arch_register_req_is(&req, should_be_same)) {
-                       vi2 = get_var_info(req.other);
+                       vi2 = get_var_info(req.other_same);
 
                        fprintf(raenv->f, "(%d, %d)\n",  vi1->var_nr, vi2->var_nr);
                }
@@ -711,7 +711,7 @@ static INLINE void var_add_spills_and_reloads(be_raext_env_t *raenv, int var_nr)
                }
 
        /* correct the reload->spill pointers... */
-       be_introduce_copies_for_set(raenv->dom_info, spills, reloads);
+       be_ssa_constr_sets(raenv->dom_info, spills, reloads);
 
 
        /****** correct the variable <--> values mapping: ******