* track used register better: if a deallocation is moved/removed, the used register may not be removed from the current register used register set

git-svn-id: trunk@44239 -
This commit is contained in:
florian 2020-02-23 18:24:31 +00:00
parent 46ab234886
commit c7b19e2fc9

View File

@ -192,7 +192,6 @@ Unit aopt;
End
else if tai_regalloc(p).ratype=ra_dealloc then
Begin
ExcludeRegFromUsedRegs(tai_regalloc(p).Reg,Regs);
hp1 := p;
hp2 := nil;
While Not(assigned(FindRegAlloc(tai_regalloc(p).Reg, tai(hp1.Next)))) And
@ -233,7 +232,9 @@ Unit aopt;
AsmL.remove(p);
p.free;
p := hp1;
end;
end
else
ExcludeRegFromUsedRegs(tai_regalloc(p).Reg,Regs);
End
End
else