Displaying 3 results from an estimated 3 matches for "instprofrecord".
Did you mean:
instrprofrecord
2017 Jun 30
2
llvm-profdata determinism
...mitData loops through the data in the same
>> SmallDenseMap and writes content in that order so far as I can tell.
>>
>>
> Binary dump does not have the problem. The binary format of the indexed
> profile data is on-disk hashtable. Before serializing into the disk, the
> instProfRecord is first inserted into the in memory hashtable and the
> hashtable is then dumped into the disk. The entry order of the hashtable
> only depends on the string hashes and in case of conflicts, the function
> content hash.
>
Ah, so you mean the loop in InstrProfRecordWriterTrait::EmitDat...
2017 Jun 30
2
llvm-profdata determinism
I haven't tested it, but it looks to me like llvm-profdata merge (well,
InstrProfWriter specifically) would not have deterministic output.
Certainly the textual output iterates over FunctionData which is a
StringMap of SmallDenseMaps, neither of which has deterministic iteration.
The binary writing looks like it'd have similar issues - looping through
these unordered maps & writing
2017 Jun 30
0
llvm-profdata determinism
...e data in the same SmallDenseMap and writes content in that
>>> order so far as I can tell.
>>>
>>>
>> Binary dump does not have the problem. The binary format of the indexed
>> profile data is on-disk hashtable. Before serializing into the disk, the
>> instProfRecord is first inserted into the in memory hashtable and the
>> hashtable is then dumped into the disk. The entry order of the hashtable
>> only depends on the string hashes and in case of conflicts, the function
>> content hash.
>>
>
> Ah, so you mean the loop in InstrProfR...