diff --git a/include/llvm/Profile/ProfileData.h b/include/llvm/Profile/ProfileData.h index b25e82c1edc..72cc840e803 100644 --- a/include/llvm/Profile/ProfileData.h +++ b/include/llvm/Profile/ProfileData.h @@ -23,6 +23,7 @@ namespace llvm { const char PROFILEDATA_MAGIC[4] = {'L', 'P', 'R', 'F'}; const uint32_t PROFILEDATA_VERSION = 1; +const uint32_t PROFILEDATA_HEADER_SIZE = 24; const error_category &profiledata_category(); diff --git a/include/llvm/Profile/ProfileDataWriter.h b/include/llvm/Profile/ProfileDataWriter.h index 7e7802a83c7..3498d2eca3e 100644 --- a/include/llvm/Profile/ProfileDataWriter.h +++ b/include/llvm/Profile/ProfileDataWriter.h @@ -16,6 +16,7 @@ #define LLVM_PROFILE_PROFILEDATA_WRITER_H__ #include "llvm/ADT/StringMap.h" +#include "llvm/Profile/ProfileData.h" #include "llvm/Support/DataTypes.h" #include "llvm/Support/raw_ostream.h" @@ -23,14 +24,6 @@ namespace llvm { -struct __attribute__((packed)) ProfileDataHeader { - char Magic[4]; - uint32_t Version; - uint32_t DataStart; - uint32_t Padding; - uint64_t MaxFunctionCount; -}; - /// Writer for instrumentation based profile data class ProfileDataWriter { StringMap FunctionOffsets; @@ -42,7 +35,7 @@ class ProfileDataWriter { void write64(raw_ostream &OS, uint64_t Value); public: ProfileDataWriter() - : DataStart(sizeof(ProfileDataHeader)), MaxFunctionCount(0) {} + : DataStart(PROFILEDATA_HEADER_SIZE), MaxFunctionCount(0) {} void addFunctionCounts(StringRef FuncName, uint64_t FunctionHash, uint64_t NumCounters, const uint64_t *Counters);