mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-15 05:10:38 +02:00
* Revert oldlasttemp stuff
git-svn-id: trunk@4717 -
This commit is contained in:
parent
710f374346
commit
6abd7a7cf3
@ -1701,8 +1701,6 @@ unit rgobj;
|
|||||||
spill_temps : ^Tspill_temp_list;
|
spill_temps : ^Tspill_temp_list;
|
||||||
supreg : tsuperregister;
|
supreg : tsuperregister;
|
||||||
templist : TAsmList;
|
templist : TAsmList;
|
||||||
oldlasttemp:longint;
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
spill_registers:=false;
|
spill_registers:=false;
|
||||||
live_registers.clear;
|
live_registers.clear;
|
||||||
@ -1712,7 +1710,6 @@ unit rgobj;
|
|||||||
supregset_reset(regs_to_spill_set,false,$ffff);
|
supregset_reset(regs_to_spill_set,false,$ffff);
|
||||||
{ Allocate temps and insert in front of the list }
|
{ Allocate temps and insert in front of the list }
|
||||||
templist:=TAsmList.create;
|
templist:=TAsmList.create;
|
||||||
oldlasttemp:=tg.lasttemp;
|
|
||||||
{Safe: this procedure is only called if there are spilled nodes.}
|
{Safe: this procedure is only called if there are spilled nodes.}
|
||||||
with spillednodes do
|
with spillednodes do
|
||||||
for i:=0 to length-1 do
|
for i:=0 to length-1 do
|
||||||
@ -1768,7 +1765,7 @@ unit rgobj;
|
|||||||
with Taicpu(p) do
|
with Taicpu(p) do
|
||||||
begin
|
begin
|
||||||
aktfilepos:=fileinfo;
|
aktfilepos:=fileinfo;
|
||||||
if instr_spill_register(list,taicpu(p),regs_to_spill_set,spill_temps^,oldlasttemp) then
|
if instr_spill_register(list,taicpu(p),regs_to_spill_set,spill_temps^) then
|
||||||
spill_registers:=true;
|
spill_registers:=true;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -1810,8 +1807,7 @@ unit rgobj;
|
|||||||
function trgobj.instr_spill_register(list:TAsmList;
|
function trgobj.instr_spill_register(list:TAsmList;
|
||||||
instr:taicpu;
|
instr:taicpu;
|
||||||
const r:Tsuperregisterset;
|
const r:Tsuperregisterset;
|
||||||
const spilltemplist:Tspill_temp_list;
|
const spilltemplist:Tspill_temp_list): boolean;
|
||||||
oldlasttemp:longint): boolean;
|
|
||||||
var
|
var
|
||||||
counter, regindex: longint;
|
counter, regindex: longint;
|
||||||
regs: tspillregsinfo;
|
regs: tspillregsinfo;
|
||||||
@ -2063,13 +2059,10 @@ unit rgobj;
|
|||||||
top_ref:
|
top_ref:
|
||||||
begin
|
begin
|
||||||
if regtype in [R_INTREGISTER,R_ADDRESSREGISTER] then
|
if regtype in [R_INTREGISTER,R_ADDRESSREGISTER] then
|
||||||
with ref^ do
|
begin
|
||||||
begin
|
tryreplacereg(ref^.base);
|
||||||
if (base=NR_STACK_POINTER_REG) and (offset>=oldlasttemp) then
|
tryreplacereg(ref^.index);
|
||||||
inc(offset,tg.lasttemp-oldlasttemp);
|
end;
|
||||||
tryreplacereg(base);
|
|
||||||
tryreplacereg(index);
|
|
||||||
end;
|
|
||||||
end;
|
end;
|
||||||
{$ifdef ARM}
|
{$ifdef ARM}
|
||||||
top_shifterop:
|
top_shifterop:
|
||||||
|
Loading…
Reference in New Issue
Block a user