Fixes by Gareth Moreton for problems exposed by use of -CriotR option

git-svn-id: trunk@43529 -
This commit is contained in:
pierre 2019-11-21 10:00:20 +00:00
parent 9bd19b050b
commit ff415ba39c
2 changed files with 5 additions and 3 deletions

View File

@ -381,7 +381,7 @@ Unit AoptObj;
procedure MakeUnconditional(p: taicpu); virtual;
{ Removes all instructions between an unconditional jump and the next label }
procedure RemoveDeadCodeAfterJump(p: taicpu);
procedure RemoveDeadCodeAfterJump(p: tai);
{ If hp is a label, strip it if its reference count is zero. Repeat until
a non-label is found, or a label with a non-zero reference count.
@ -1615,7 +1615,7 @@ Unit AoptObj;
{ Removes all instructions between an unconditional jump and the next label }
procedure TAOptObj.RemoveDeadCodeAfterJump(p: taicpu);
procedure TAOptObj.RemoveDeadCodeAfterJump(p: tai);
var
hp1, hp2: tai;
begin
@ -1657,7 +1657,7 @@ Unit AoptObj;
hp1.free;
end
else
p:=taicpu(hp1);
p:=hp1;
end
else
Break;

View File

@ -2057,6 +2057,8 @@ unit aoptx86;
p.Free;
hp2.Free;
p := hp1;
Result := True;
Exit;
end;
end;
if MatchOpType(taicpu(hp2),top_reg,top_reg) and