diff options
Diffstat (limited to 'llvm/lib/ProfileData/InstrProf.cpp')
-rw-r--r-- | llvm/lib/ProfileData/InstrProf.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/ProfileData/InstrProf.cpp b/llvm/lib/ProfileData/InstrProf.cpp index 723408b1c2a..00c9057c8b4 100644 --- a/llvm/lib/ProfileData/InstrProf.cpp +++ b/llvm/lib/ProfileData/InstrProf.cpp @@ -211,8 +211,10 @@ uint64_t stringToHash(uint32_t ValueKind, uint64_t Value) { } ValueProfData *allocValueProfDataInstrProf(size_t TotalSizeInBytes) { - return (ValueProfData *)(new (::operator new(TotalSizeInBytes)) - ValueProfData()); + ValueProfData *VD = + (ValueProfData *)(new (::operator new(TotalSizeInBytes)) ValueProfData()); + memset(VD, 0, TotalSizeInBytes); + return VD; } static ValueProfRecordClosure InstrProfRecordClosure = { @@ -223,8 +225,7 @@ static ValueProfRecordClosure InstrProfRecordClosure = { getNumValueDataForSiteInstrProf, stringToHash, getValueForSiteInstrProf, - allocValueProfDataInstrProf -}; + allocValueProfDataInstrProf}; // Wrapper implementation using the closure mechanism. uint32_t ValueProfData::getSize(const InstrProfRecord &Record) { |