mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 03:59:13 +02:00
* 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:
parent
46ab234886
commit
c7b19e2fc9
@ -192,7 +192,6 @@ Unit aopt;
|
|||||||
End
|
End
|
||||||
else if tai_regalloc(p).ratype=ra_dealloc then
|
else if tai_regalloc(p).ratype=ra_dealloc then
|
||||||
Begin
|
Begin
|
||||||
ExcludeRegFromUsedRegs(tai_regalloc(p).Reg,Regs);
|
|
||||||
hp1 := p;
|
hp1 := p;
|
||||||
hp2 := nil;
|
hp2 := nil;
|
||||||
While Not(assigned(FindRegAlloc(tai_regalloc(p).Reg, tai(hp1.Next)))) And
|
While Not(assigned(FindRegAlloc(tai_regalloc(p).Reg, tai(hp1.Next)))) And
|
||||||
@ -233,7 +232,9 @@ Unit aopt;
|
|||||||
AsmL.remove(p);
|
AsmL.remove(p);
|
||||||
p.free;
|
p.free;
|
||||||
p := hp1;
|
p := hp1;
|
||||||
end;
|
end
|
||||||
|
else
|
||||||
|
ExcludeRegFromUsedRegs(tai_regalloc(p).Reg,Regs);
|
||||||
End
|
End
|
||||||
End
|
End
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user