diff options
author | Xinliang David Li <davidxl@google.com> | 2017-06-28 16:46:06 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2017-06-28 16:46:06 +0000 |
commit | 59b78d964b68f9e8c4fe540e759ead35dc35e240 (patch) | |
tree | f93415824c26c221830f550eb4c3fefdfcd01d50 /lib/profile/InstrProfilingInternal.h | |
parent | 8ec8c48d6b22265de20c6d0d5f2e047946c7fd58 (diff) |
[PGO] Reduce IO in profile dumping with merging
Differential Revision: http://reviews.llvm.org/D34709
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@306561 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/profile/InstrProfilingInternal.h')
-rw-r--r-- | lib/profile/InstrProfilingInternal.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/profile/InstrProfilingInternal.h b/lib/profile/InstrProfilingInternal.h index ee710722a..36490ef7d 100644 --- a/lib/profile/InstrProfilingInternal.h +++ b/lib/profile/InstrProfilingInternal.h @@ -102,7 +102,6 @@ int lprofBufferIOFlush(ProfBufferIO *BufferIO); * and profile data writer. */ uint32_t lprofBufferWriter(ProfDataWriter *This, ProfDataIOVec *IOVecs, uint32_t NumIOVecs); - void initBufferWriter(ProfDataWriter *BufferWriter, char *Buffer); struct ValueProfData; @@ -139,14 +138,17 @@ typedef struct VPDataReaderType { uint32_t N); } VPDataReaderType; -int lprofWriteData(ProfDataWriter *Writer, VPDataReaderType *VPDataReader); +/* Write profile data to destinitation. If SkipNameDataWrite is set to 1, + the name data is already in destintation, we just skip over it. */ +int lprofWriteData(ProfDataWriter *Writer, VPDataReaderType *VPDataReader, + int SkipNameDataWrite); int lprofWriteDataImpl(ProfDataWriter *Writer, const __llvm_profile_data *DataBegin, const __llvm_profile_data *DataEnd, const uint64_t *CountersBegin, const uint64_t *CountersEnd, VPDataReaderType *VPDataReader, const char *NamesBegin, - const char *NamesEnd); + const char *NamesEnd, int SkipNameDataWrite); /* Merge value profile data pointed to by SrcValueProfData into * in-memory profile counters pointed by to DstData. */ |