bugfix (check for register class)
authorChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Tue, 10 Jan 2006 16:50:43 +0000 (16:50 +0000)
committerChristian Würdig <chriswue@ipd.info.uni-karlsruhe.de>
Tue, 10 Jan 2006 16:50:43 +0000 (16:50 +0000)
ir/be/beconstrperm.c

index 9522260..f493ba7 100644 (file)
@@ -33,7 +33,7 @@ static void walker_insert_constr_perms(ir_node *bl, void *env) {
                for(pos=-1; pos<max; ++pos) {
                        arch_get_register_req(aenv, &req, irn, pos);
                        /* if a restriction is found, insert a perm before the irn */
-                       if (req.type == arch_register_req_type_limited) {
+                       if (cenv->cls == arch_get_irn_reg_class(aenv, irn, pos) && req.type == arch_register_req_type_limited) {
                                insert_Perm_after(menv, cenv->cls, cenv->dom_front, sched_prev(irn));
                                /* TODO: Next line is overkill. Update_liveness would suffice. */
                                be_liveness(get_irn_irg(bl));