X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeconstrperm.c;h=52ac06bb5b55ad67db0738a6bed97ac21e444382;hb=fd0185b3d679980b9c4fcb3859231b1087ce66f7;hp=eeab5b1dc1b2a64daa65c06dec2a2be7485782fe;hpb=127fd9edd7d2708e9bc925f5b229719d6ae30680;p=libfirm diff --git a/ir/be/beconstrperm.c b/ir/be/beconstrperm.c index eeab5b1dc..52ac06bb5 100644 --- a/ir/be/beconstrperm.c +++ b/ir/be/beconstrperm.c @@ -31,7 +31,9 @@ static void check_constraints(const be_chordal_env_t *cenv, ir_node *base, ir_no for(pos = -1, n = get_irn_arity(irn); pos < n; ++pos) { arch_get_register_req(aenv, &req, irn, pos); - if(arch_irn_has_reg_class(aenv, irn, pos, cenv->cls) && arch_register_req_is(&req, limited)) { + if(arch_irn_has_reg_class(aenv, irn, pos, cenv->cls) + && arch_register_req_is(&req, limited) + && !arch_irn_is_ignore(aenv, irn)) { /* * If we inserted a perm, @@ -43,7 +45,7 @@ static void check_constraints(const be_chordal_env_t *cenv, ir_node *base, ir_no * would help. */ if(*perm == NULL) { - *perm = insert_Perm_after(menv, cenv->cls, cenv->dom_front, sched_prev(base)); + *perm = insert_Perm_after(aenv, cenv->cls, cenv->dom_front, sched_prev(base)); be_liveness(cenv->irg); }