[llvm] [StaticDataLayout][PGO]Implement reader and writer change for data access profiles (PR #139997)
via llvm-commits
llvm-commits at lists.llvm.org
Tue May 20 10:09:21 PDT 2025
SharonXSharon wrote:
> 1. I guess there should be a count associated with each `u64 MemBlockAddress`?
Not really, for our mobile apps, we improve the app startup performance by reducing the major page faults during the startup, so the access count doesn't really matter, we only need hot/cold split, so we can group the hot together in the binary layout to reduce unnecessary page faults.
> What is MemAddressOffset in the BinaryAccessHeader?
That is the start of the accessed memory addresses list, e.g. in
```
The format of the binary access profile:
// header
BinaryAccessHeader header;
// segment info
SegmentEntry entry1;
SegmentEntry entry2;
...
// memblock addresses
u64 MemBlockAddress1;
u64 MemBlockAddress2;
...
// end
```
The `MemAddressOffset` would be offset to `u64 MemBlockAddress1` in the file.
> I prefer evolving the raw format to support binary accesses instead of keeping them separate.
I'd be happy to integrate in the existing raw format, do you have any suggestions how can we best integrate?
https://github.com/llvm/llvm-project/pull/139997
More information about the llvm-commits
mailing list