mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 02:29:34 +02:00
* Fixed indentations of the interference graph.
* Added register names to the interference graph. git-svn-id: trunk@45832 -
This commit is contained in:
parent
d7122c6338
commit
80facfa0bf
@ -710,25 +710,33 @@ unit rgobj;
|
|||||||
|
|
||||||
var f:text;
|
var f:text;
|
||||||
i,j:cardinal;
|
i,j:cardinal;
|
||||||
|
sr:TSubRegister;
|
||||||
begin
|
begin
|
||||||
assign(f,current_procinfo.procdef.mangledname+'_igraph'+tostr(loopidx));
|
assign(f,current_procinfo.procdef.mangledname+'_igraph'+tostr(loopidx));
|
||||||
rewrite(f);
|
rewrite(f);
|
||||||
writeln(f,'Interference graph of ',current_procinfo.procdef.fullprocname(true));
|
writeln(f,'Interference graph of ',current_procinfo.procdef.fullprocname(true));
|
||||||
writeln(f,'First imaginary register is ',first_imaginary,' ($',hexstr(first_imaginary,2),')');
|
writeln(f,'Register type: ',regtype,', First imaginary register is ',first_imaginary,' ($',hexstr(first_imaginary,2),')');
|
||||||
writeln(f);
|
writeln(f);
|
||||||
write(f,' ');
|
write(f,' ');
|
||||||
for i:=0 to maxreg div 16 do
|
for i:=0 to maxreg div 16 do
|
||||||
for j:=0 to 15 do
|
for j:=0 to 15 do
|
||||||
write(f,hexstr(i,1));
|
write(f,hexstr(i,1));
|
||||||
writeln(f);
|
writeln(f);
|
||||||
write(f,'Weight Degree ');
|
write(f,'Weight Degree Uses IntfCnt ');
|
||||||
for i:=0 to maxreg div 16 do
|
for i:=0 to maxreg div 16 do
|
||||||
write(f,'0123456789ABCDEF');
|
write(f,'0123456789ABCDEF');
|
||||||
writeln(f);
|
writeln(f);
|
||||||
|
if regtype=R_INTREGISTER then
|
||||||
|
sr:=R_SUBWHOLE
|
||||||
|
else
|
||||||
|
sr:=R_SUBNONE;
|
||||||
for i:=0 to maxreg-1 do
|
for i:=0 to maxreg-1 do
|
||||||
begin
|
begin
|
||||||
write(f,reginfo[i].weight:5,' ',reginfo[i].degree:5,' ',reginfo[i].count_uses:5,' ',reginfo[i].total_interferences:5,' ',hexstr(i,2):4);
|
write(f,reginfo[i].weight:5,' ',reginfo[i].degree:5,' ',reginfo[i].count_uses:5,' ',reginfo[i].total_interferences:5,' ');
|
||||||
|
if findreg_by_number(newreg(regtype,TSuperRegister(i),sr))<>0 then
|
||||||
|
write(f,std_regname(newreg(regtype,TSuperRegister(i),sr))+':'+hexstr(i,2):7)
|
||||||
|
else
|
||||||
|
write(f,' ',hexstr(i,2):4);
|
||||||
for j:=0 to maxreg-1 do
|
for j:=0 to maxreg-1 do
|
||||||
if ibitmap[i,j] then
|
if ibitmap[i,j] then
|
||||||
write(f,'*')
|
write(f,'*')
|
||||||
|
Loading…
Reference in New Issue
Block a user