Extended perm insertion by setting the colors of the outs.
authorDaniel Grund <grund@cs.uni-saarland.de>
Tue, 19 Jul 2005 15:40:24 +0000 (15:40 +0000)
committerDaniel Grund <grund@cs.uni-saarland.de>
Tue, 19 Jul 2005 15:40:24 +0000 (15:40 +0000)
ir/be/benode.c

index fbf941e..c5feacc 100644 (file)
@@ -371,9 +371,12 @@ ir_node *insert_Perm_after(const be_main_session_env_t *env,
   for(i = 0; i < n; ++i) {
     ir_node *copies[1];
     ir_node *perm_op = get_irn_n(perm, i);
+       const arch_register_t *reg = arch_get_irn_register(arch_env, perm_op, arch_pos_make_out(0));
 
     ir_mode *mode = get_irn_mode(perm_op);
     ir_node *proj = new_r_Proj(irg, bl, perm, mode, i);
+    arch_set_irn_register(arch_env, proj, arch_pos_make_out(0), reg);
+
     sched_add_after(curr, proj);
     curr = proj;