* during spilling only add deallocs to live_registers that belong

to the instruction
This commit is contained in:
peter 2005-04-07 16:25:05 +00:00
parent e207c402fc
commit 41c253b65d

View File

@ -1924,7 +1924,10 @@ unit rgobj;
((tai_regalloc(loadpos).instr=nil) or
(tai_regalloc(loadpos).instr=instr)) do
begin
if tai_regalloc(loadpos).ratype=ra_dealloc then
{ Only add deallocs belonging to the instruction. Explicit inserted deallocs
belong to the previous instruction and not the current instruction }
if (tai_regalloc(loadpos).instr=instr) and
(tai_regalloc(loadpos).ratype=ra_dealloc) then
live_registers.add(getsupreg(tai_regalloc(loadpos).reg));
loadpos:=tai(loadpos.previous);
end;
@ -2020,7 +2023,11 @@ unit rgobj;
end.
{
$Log$
Revision 1.157 2005-04-07 15:42:04 peter
Revision 1.158 2005-04-07 16:25:05 peter
* during spilling only add deallocs to live_registers that belong
to the instruction
Revision 1.157 2005/04/07 15:42:04 peter
* only in EXTDEBUG leave register allocator when it fails. Otherwise
give an IE