mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 14:09:17 +02:00
* add_edges_used() is now also called for registers allocated with
getexplicitregisterint() * writing the intereference graph is now only done with -dradebug2 and the created files are now called "igraph.<module_name>"
This commit is contained in:
parent
4b907b7c5e
commit
7bc1557f5c
@ -369,7 +369,7 @@ unit rgobj;
|
|||||||
procedure saveUnusedState(var state: pointer);virtual;
|
procedure saveUnusedState(var state: pointer);virtual;
|
||||||
procedure restoreUnusedState(var state: pointer);virtual;
|
procedure restoreUnusedState(var state: pointer);virtual;
|
||||||
{$ifdef newra}
|
{$ifdef newra}
|
||||||
{$ifdef ra_debug}
|
{$ifdef ra_debug2}
|
||||||
procedure writegraph;
|
procedure writegraph;
|
||||||
{$endif}
|
{$endif}
|
||||||
procedure add_move_instruction(instr:Taicpu);
|
procedure add_move_instruction(instr:Taicpu);
|
||||||
@ -525,7 +525,7 @@ unit rgobj;
|
|||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
systems,
|
systems,{$ifdef ra_debug2}fmodule,{$endif}
|
||||||
globals,verbose,
|
globals,verbose,
|
||||||
cgobj,tgobj,regvars;
|
cgobj,tgobj,regvars;
|
||||||
|
|
||||||
@ -776,6 +776,9 @@ unit rgobj;
|
|||||||
r2.enum:=R_INTREGISTER;
|
r2.enum:=R_INTREGISTER;
|
||||||
r2.number:=r;
|
r2.number:=r;
|
||||||
list.concat(tai_regalloc.alloc(r2));
|
list.concat(tai_regalloc.alloc(r2));
|
||||||
|
{$ifdef newra}
|
||||||
|
add_edges_used(r shr 8);
|
||||||
|
{$endif}
|
||||||
{$ifdef TEMPREGDEBUG}
|
{$ifdef TEMPREGDEBUG}
|
||||||
testregisters32;
|
testregisters32;
|
||||||
{$endif TEMPREGDEBUG}
|
{$endif TEMPREGDEBUG}
|
||||||
@ -1499,7 +1502,7 @@ unit rgobj;
|
|||||||
add_edge(u,i);
|
add_edge(u,i);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$ifdef ra_debug}
|
{$ifdef ra_debug2}
|
||||||
procedure Trgobj.writegraph;
|
procedure Trgobj.writegraph;
|
||||||
|
|
||||||
{This procedure writes out the current interference graph in the
|
{This procedure writes out the current interference graph in the
|
||||||
@ -1510,7 +1513,7 @@ unit rgobj;
|
|||||||
i,j:Tsuperregister;
|
i,j:Tsuperregister;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
assign(f,'igraph'+char(48+random(10))+char(48+random(10)));
|
assign(f,'igraph.'+Lower(current_module.modulename^));
|
||||||
rewrite(f);
|
rewrite(f);
|
||||||
writeln(f,'Interference graph');
|
writeln(f,'Interference graph');
|
||||||
writeln(f);
|
writeln(f);
|
||||||
@ -2535,7 +2538,13 @@ end.
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.60 2003-07-06 15:31:21 daniel
|
Revision 1.61 2003-07-21 13:32:39 jonas
|
||||||
|
* add_edges_used() is now also called for registers allocated with
|
||||||
|
getexplicitregisterint()
|
||||||
|
* writing the intereference graph is now only done with -dradebug2 and
|
||||||
|
the created files are now called "igraph.<module_name>"
|
||||||
|
|
||||||
|
Revision 1.60 2003/07/06 15:31:21 daniel
|
||||||
* Fixed register allocator. *Lots* of fixes.
|
* Fixed register allocator. *Lots* of fixes.
|
||||||
|
|
||||||
Revision 1.59 2003/07/06 15:00:47 jonas
|
Revision 1.59 2003/07/06 15:00:47 jonas
|
||||||
|
Loading…
Reference in New Issue
Block a user