mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-14 06:49:23 +02:00
* Register allocator bugfix for h2pas
This commit is contained in:
parent
399fac564f
commit
889bd81bdb
@ -1736,7 +1736,8 @@ unit rgobj;
|
||||
for i:=1 to length(adj^) do
|
||||
begin
|
||||
m:=adj^[i];
|
||||
if (pos(m,selectstack) or pos(m,coalescednodes))=0 then
|
||||
if ((pos(m,selectstack) or pos(m,coalescednodes))=0) and
|
||||
not (Tsuperregister(m) in [first_supreg..last_supreg]) then
|
||||
decrement_degree(Tsuperregister(m));
|
||||
end;
|
||||
end;
|
||||
@ -1882,7 +1883,8 @@ unit rgobj;
|
||||
lists while the degree does not change (add_edge will increase it).
|
||||
Instead, we will decrement manually. (Only if the degree has been
|
||||
increased.)}
|
||||
if decrement and (degree[Tsuperregister(t)]>0) then
|
||||
if decrement and not (Tsuperregister(t) in [first_supreg..last_supreg])
|
||||
and (degree[Tsuperregister(t)]>0) then
|
||||
dec(degree[Tsuperregister(t)]);
|
||||
end;
|
||||
end;
|
||||
@ -2563,7 +2565,10 @@ end.
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.66 2003-08-17 16:59:20 jonas
|
||||
Revision 1.67 2003-08-23 10:46:21 daniel
|
||||
* Register allocator bugfix for h2pas
|
||||
|
||||
Revision 1.66 2003/08/17 16:59:20 jonas
|
||||
* fixed regvars so they work with newra (at least for ppc)
|
||||
* fixed some volatile register bugs
|
||||
+ -dnotranslation option for -dnewra, which causes the registers not to
|
||||
|
Loading…
Reference in New Issue
Block a user