diff options
author | Xinliang David Li <davidxl@google.com> | 2015-12-22 18:57:15 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2015-12-22 18:57:15 +0000 |
commit | 32f16ac9c2115863331d5615f9472e93cd6d072b (patch) | |
tree | fecac55617b1b82aaae6ba3ecacb6fb986170423 /lib/profile/InstrProfilingBuffer.c | |
parent | d800108a722bf428fb4a5e493007cb13299d3948 (diff) | |
download | compiler-rt-32f16ac9c2115863331d5615f9472e93cd6d072b.tar.gz |
[PGO] Move buffer write callback to a common file
This is a NFC refactoring enabling code sharing by file writer.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@256264 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/profile/InstrProfilingBuffer.c')
-rw-r--r-- | lib/profile/InstrProfilingBuffer.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/lib/profile/InstrProfilingBuffer.c b/lib/profile/InstrProfilingBuffer.c index 8bade76cf..4227ca6b6 100644 --- a/lib/profile/InstrProfilingBuffer.c +++ b/lib/profile/InstrProfilingBuffer.c @@ -10,8 +10,6 @@ #include "InstrProfiling.h" #include "InstrProfilingInternal.h" -#include <string.h> - COMPILER_RT_VISIBILITY uint64_t __llvm_profile_get_size_for_buffer(void) { const __llvm_profile_data *DataBegin = __llvm_profile_begin_data(); @@ -40,30 +38,15 @@ uint64_t __llvm_profile_get_size_for_buffer_internal( PROFILE_RANGE_SIZE(Counters) * sizeof(uint64_t) + NamesSize + Padding; } -/* The buffer writer is reponsponsible in keeping writer state - * across the call. - */ -static uint32_t bufferWriter(ProfDataIOVec *IOVecs, uint32_t NumIOVecs, - void **WriterCtx) { - uint32_t I; - char **Buffer = (char **)WriterCtx; - for (I = 0; I < NumIOVecs; I++) { - size_t Length = IOVecs[I].ElmSize * IOVecs[I].NumElm; - memcpy(*Buffer, IOVecs[I].Data, Length); - *Buffer += Length; - } - return 0; -} - COMPILER_RT_VISIBILITY int __llvm_profile_write_buffer(char *Buffer) { - return llvmWriteProfData(bufferWriter, Buffer, 0, 0); + return llvmWriteProfData(llvmBufferWriter, Buffer, 0, 0); } COMPILER_RT_VISIBILITY int __llvm_profile_write_buffer_internal( char *Buffer, const __llvm_profile_data *DataBegin, const __llvm_profile_data *DataEnd, const uint64_t *CountersBegin, const uint64_t *CountersEnd, const char *NamesBegin, const char *NamesEnd) { - return llvmWriteProfDataImpl(bufferWriter, Buffer, DataBegin, DataEnd, + return llvmWriteProfDataImpl(llvmBufferWriter, Buffer, DataBegin, DataEnd, CountersBegin, CountersEnd, 0, 0, NamesBegin, NamesEnd); } |