summaryrefslogtreecommitdiff
path: root/lib/profile/InstrProfilingInternal.h
diff options
context:
space:
mode:
authorXinliang David Li <davidxl@google.com>2017-06-28 16:46:06 +0000
committerXinliang David Li <davidxl@google.com>2017-06-28 16:46:06 +0000
commit59b78d964b68f9e8c4fe540e759ead35dc35e240 (patch)
treef93415824c26c221830f550eb4c3fefdfcd01d50 /lib/profile/InstrProfilingInternal.h
parent8ec8c48d6b22265de20c6d0d5f2e047946c7fd58 (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.h8
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. */