* simplified RegInInstruction() and fixed range errors

git-svn-id: trunk@25950 -
This commit is contained in:
Jonas Maebe 2013-11-06 10:46:22 +00:00
parent 98a230d20f
commit 3c7ad95f7d

View File

@ -117,17 +117,16 @@ unit aoptbase;
Function TAOptBase.RegInInstruction(Reg: TRegister; p1: tai): Boolean;
Var Count: AWord;
TmpResult: Boolean;
Var
Count: longint;
Begin
TmpResult := False;
Count := 0;
If (p1.typ = ait_instruction) and assigned(TInstr(p1).oper[0]) Then
Repeat
TmpResult := RegInOp(Reg, TInstr(p1).oper[Count]^);
Inc(Count)
Until (TInstr(p1).oper[Count]=nil) or (Count = MaxOps) or TmpResult;
RegInInstruction := TmpResult
result:=false;
if p1.typ<>ait_instruction then
exit;
for Count:=0 to TInstr(p1).ops-1 do
if RegInOp(Reg, TInstr(p1).oper[Count]^) then
exit(true);
result:=false;
End;