* FindRegAllocBackward will now return nil if it hits a dealloc for the register first

This commit is contained in:
J. Gareth "Curious Kit" Moreton 2023-03-06 11:50:12 +00:00 committed by FPK
parent 1fafcbc125
commit d7d4b446c1

View File

@ -1387,10 +1387,11 @@ Unit AoptObj;
If Assigned(StartPai) And
(StartPai.typ = ait_regAlloc) Then
Begin
if (tai_regalloc(StartPai).ratype=ra_alloc) and
SuperRegistersEqual(tai_regalloc(StartPai).Reg,Reg) then
if SuperRegistersEqual(tai_regalloc(StartPai).Reg,Reg) then
begin
Result:=tai_regalloc(StartPai);
{ If we find a dealloc first, say, return nil }
if (tai_regalloc(StartPai).ratype<>ra_dealloc) then
Result:=tai_regalloc(StartPai);
exit;
end;
StartPai := Tai(StartPai.Previous);