mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-11 16:26:13 +02:00
llvm metadata: counter per unit rather than globally
Results in less high numbers, and reproducible results when partially rebuilding
This commit is contained in:
parent
9b280db2b1
commit
816ab7ffcc
@ -27,7 +27,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
globtype,verbose,cclasses,
|
globtype,verbose,cclasses,
|
||||||
aasmbase,aasmtai,aasmdata,aasmsym,aasmcnst,
|
aasmbase,aasmtai,aasmdata,aasmdef,aasmsym,aasmcnst,
|
||||||
cpubase,cgbase,cgutils,
|
cpubase,cgbase,cgutils,
|
||||||
symtype,symdef,symsym,
|
symtype,symdef,symsym,
|
||||||
llvmbase;
|
llvmbase;
|
||||||
@ -227,6 +227,10 @@ interface
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
TLLVMAsmData = class(TAsmDataDef)
|
||||||
|
fnextmetaid: cardinal;
|
||||||
|
end;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
@ -1258,4 +1262,6 @@ uses
|
|||||||
loadparas(1,paras);
|
loadparas(1,paras);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
casmdata:=TLLVMAsmData;
|
||||||
end.
|
end.
|
||||||
|
@ -76,8 +76,7 @@ interface
|
|||||||
|
|
||||||
(* !0 = !{ type1 value1, ... } *)
|
(* !0 = !{ type1 value1, ... } *)
|
||||||
tai_llvmunnamedmetadatanode = class(tai_llvmbasemetadatanode)
|
tai_llvmunnamedmetadatanode = class(tai_llvmbasemetadatanode)
|
||||||
strict private class var
|
strict private
|
||||||
snextid: cardinal;
|
|
||||||
class function getnextid: cardinal;
|
class function getnextid: cardinal;
|
||||||
strict protected
|
strict protected
|
||||||
fnameval: cardinal;
|
fnameval: cardinal;
|
||||||
@ -194,7 +193,8 @@ implementation
|
|||||||
verbose,globals,cutils,
|
verbose,globals,cutils,
|
||||||
fmodule,
|
fmodule,
|
||||||
symdef,
|
symdef,
|
||||||
dbgdwarfconst;
|
dbgdwarfconst,
|
||||||
|
aasmdata,aasmllvm;
|
||||||
|
|
||||||
function llvm_getmetadatareftypedconst(metadata: tai_llvmbasemetadatanode): tai_simpletypedconst;
|
function llvm_getmetadatareftypedconst(metadata: tai_llvmbasemetadatanode): tai_simpletypedconst;
|
||||||
begin
|
begin
|
||||||
@ -232,8 +232,8 @@ implementation
|
|||||||
|
|
||||||
class function tai_llvmunnamedmetadatanode.getnextid: cardinal;
|
class function tai_llvmunnamedmetadatanode.getnextid: cardinal;
|
||||||
begin
|
begin
|
||||||
result:=snextid;
|
result:=tllvmasmdata(current_asmdata).fnextmetaid;
|
||||||
inc(snextid);
|
inc(tllvmasmdata(current_asmdata).fnextmetaid);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user