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
93672962a1
commit
ff9d23e4ec
1 changed files with 1 additions and 0 deletions
|
@ -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…
Reference in a new issue