* Revert oldlasttemp stuff

git-svn-id: trunk@4717 -
This commit is contained in:
daniel 2006-09-24 16:59:36 +00:00
parent 710f374346
commit 6abd7a7cf3

View File

@ -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: