* more use of RemoveCurrentP(p)

git-svn-id: trunk@44264 -
This commit is contained in:
florian 2020-03-05 21:49:36 +00:00
parent 113ed4f0e7
commit cea7723080

View File

@ -1395,8 +1395,7 @@ unit aoptx86;
if MatchOperand(taicpu(p).oper[0]^,taicpu(p).oper[1]^) then
begin
GetNextInstruction(p,hp1);
asml.Remove(p);
p.Free;
RemoveCurrentP(p);
p:=hp1;
result:=true;
exit;
@ -1539,8 +1538,7 @@ unit aoptx86;
if not(RegUsedAfterInstruction(taicpu(p).oper[1]^.reg,hp2,TmpUsedRegs)) then
begin
taicpu(hp1).loadoper(2,taicpu(p).oper[0]^);
asml.Remove(p);
p.Free;
RemoveCurrentP(p);
asml.Remove(hp2);
hp2.Free;
p:=hp1;
@ -1579,10 +1577,7 @@ unit aoptx86;
{ we cannot eliminate the first move if
the operations uses the same register for source and dest }
if not(OpsEqual(taicpu(hp1).oper[1]^,taicpu(hp1).oper[0]^)) then
begin
asml.remove(p);
p.Free;
end;
RemoveCurrentP(p);
taicpu(hp1).loadoper(1, taicpu(hp2).oper[1]^);
asml.remove(hp2);
hp2.Free;
@ -1847,9 +1842,7 @@ unit aoptx86;
begin
DebugMsg(SPeepholeOptimization + 'Mov2Nop 1 done',p);
{ take care of the register (de)allocs following p }
UpdateUsedRegs(tai(p.next));
asml.remove(p);
p.free;
RemoveCurrentP(p);
p:=hp1;
Result:=true;
exit;
@ -2094,10 +2087,7 @@ unit aoptx86;
else
begin
DebugMsg(SPeepholeOptimization + 'Mov2Nop 5 done',p);
{ take care of the register (de)allocs following p }
UpdateUsedRegs(tai(p.next));
asml.remove(p);
p.free;
RemoveCurrentP(p);
p:=hp1;
Result := True;
Exit;
@ -2576,10 +2566,7 @@ unit aoptx86;
{ We can remove the original MOV too }
DebugMsg(SPeepholeOptimization + 'MovMov2NopNop 6b done',p);
{ take care of the register (de)allocs following p }
UpdateUsedRegs(tai(p.next));
asml.remove(p);
p.free;
RemoveCurrentP(p);
p:=hp1;
Result:=true;
Exit;
@ -2601,10 +2588,7 @@ unit aoptx86;
else
begin
DebugMsg(SPeepholeOptimization + 'MovMov2Mov 6 done',p);
{ take care of the register (de)allocs following p }
UpdateUsedRegs(tai(p.next));
asml.remove(p);
p.free;
RemoveCurrentP(p);
p:=hp1;
Result:=true;
Exit;
@ -2640,10 +2624,7 @@ unit aoptx86;
else
begin
DebugMsg(SPeepholeOptimization + 'MovMov2Mov 7 done',p);
{ take care of the register (de)allocs following p }
UpdateUsedRegs(tai(p.next));
asml.remove(p);
p.free;
RemoveCurrentP(p);
p:=hp1;
Result:=true;
Exit;
@ -5435,11 +5416,7 @@ unit aoptx86;
((MaskLength+taicpu(hp1).oper[0]^.val)>=topsize2memsize[taicpu(hp1).opsize]) then
begin
DebugMsg(SPeepholeOptimization + 'AndShlToShl done',p);
{ take care of the register (de)allocs following p }
UpdateUsedRegs(tai(p.next));
asml.remove(p);
p.free;
RemoveCurrentP(p);
p:=hp1;
Result:=true;
exit;