|
@@ -315,16 +315,7 @@ Implementation
|
|
else
|
|
else
|
|
asml.InsertAfter(dealloc,p);
|
|
asml.InsertAfter(dealloc,p);
|
|
|
|
|
|
- { try to move the allocation of the target register }
|
|
|
|
- GetLastInstruction(movp,hp1);
|
|
|
|
- alloc:=FindRegAlloc(taicpu(movp).oper[0]^.reg,tai(hp1.Next));
|
|
|
|
- if assigned(alloc) then
|
|
|
|
- begin
|
|
|
|
- asml.Remove(alloc);
|
|
|
|
- asml.InsertBefore(alloc,p);
|
|
|
|
- { adjust used regs }
|
|
|
|
- IncludeRegInUsedRegs(taicpu(movp).oper[0]^.reg,UsedRegs);
|
|
|
|
- end;
|
|
|
|
|
|
+ AllocRegBetween(taicpu(movp).oper[0]^.reg,p,movp,UsedRegs);
|
|
|
|
|
|
{ finally get rid of the mov }
|
|
{ finally get rid of the mov }
|
|
taicpu(p).loadreg(0,taicpu(movp).oper[0]^.reg);
|
|
taicpu(p).loadreg(0,taicpu(movp).oper[0]^.reg);
|