A move from a nonreg to a reg did not have the effect that all
registers clashing with the destination were erased. Erase added.
This commit is contained in:
parent
8a4d834bc6
commit
dbcebe6e4c
@ -57,6 +57,7 @@ move(tp1,tp2,ply,toplevel,maxcost) token_p tp1,tp2; unsigned maxcost; {
|
||||
} else {
|
||||
if (eqtoken(&machregs[tp2->t_att[0].ar].r_contents,tp1))
|
||||
return(0);
|
||||
erasereg(tp2->t_att[0].ar);
|
||||
machregs[tp2->t_att[0].ar].r_contents = *tp1;
|
||||
}
|
||||
for (rp=machregs;rp<machregs+NREGS;rp++) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user