diff options
Diffstat (limited to 'llvm/lib/ProfileData/SampleProfWriter.cpp')
| -rw-r--r-- | llvm/lib/ProfileData/SampleProfWriter.cpp | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/llvm/lib/ProfileData/SampleProfWriter.cpp b/llvm/lib/ProfileData/SampleProfWriter.cpp index b575425d4e94..8ec6b7ebc29e 100644 --- a/llvm/lib/ProfileData/SampleProfWriter.cpp +++ b/llvm/lib/ProfileData/SampleProfWriter.cpp @@ -19,7 +19,6 @@ #include "llvm/ProfileData/SampleProfWriter.h" #include "llvm/ADT/StringRef.h" -#include "llvm/ADT/StringSet.h" #include "llvm/ProfileData/ProfileCommon.h" #include "llvm/ProfileData/SampleProf.h" #include "llvm/Support/Compression.h" @@ -87,10 +86,8 @@ std::error_code SampleProfileWriterExtBinaryBase::compressAndOutput() { return sampleprof_error::success; auto &OS = *OutputStream; SmallString<128> CompressedStrings; - llvm::Error E = zlib::compress(UncompressedStrings, CompressedStrings, - zlib::BestSizeCompression); - if (E) - return sampleprof_error::compress_failed; + zlib::compress(UncompressedStrings, CompressedStrings, + zlib::BestSizeCompression); encodeULEB128(UncompressedStrings.size(), OS); encodeULEB128(CompressedStrings.size(), OS); OS << CompressedStrings.str(); @@ -172,7 +169,7 @@ std::error_code SampleProfileWriterExtBinaryBase::writeFuncOffsetTable() { return (std::error_code)sampleprof_error::success; }; - if (FunctionSamples::ProfileIsCSFlat) { + if (FunctionSamples::ProfileIsCS) { // Sort the contexts before writing them out. This is to help fast load all // context profiles for a function as well as their callee contexts which // can help profile-guided importing for ThinLTO. @@ -202,11 +199,11 @@ std::error_code SampleProfileWriterExtBinaryBase::writeFuncMetadata( if (FunctionSamples::ProfileIsProbeBased) encodeULEB128(FunctionProfile.getFunctionHash(), OS); - if (FunctionSamples::ProfileIsCSFlat || FunctionSamples::ProfileIsCSNested) { + if (FunctionSamples::ProfileIsCS || FunctionSamples::ProfileIsPreInlined) { encodeULEB128(FunctionProfile.getContext().getAllAttributes(), OS); } - if (!FunctionSamples::ProfileIsCSFlat) { + if (!FunctionSamples::ProfileIsCS) { // Recursively emit attributes for all callee samples. uint64_t NumCallsites = 0; for (const auto &J : FunctionProfile.getCallsiteSamples()) @@ -228,8 +225,8 @@ std::error_code SampleProfileWriterExtBinaryBase::writeFuncMetadata( std::error_code SampleProfileWriterExtBinaryBase::writeFuncMetadata( const SampleProfileMap &Profiles) { - if (!FunctionSamples::ProfileIsProbeBased && - !FunctionSamples::ProfileIsCSFlat && !FunctionSamples::ProfileIsCSNested) + if (!FunctionSamples::ProfileIsProbeBased && !FunctionSamples::ProfileIsCS && + !FunctionSamples::ProfileIsPreInlined) return sampleprof_error::success; for (const auto &Entry : Profiles) { if (std::error_code EC = writeFuncMetadata(Entry.second)) @@ -324,12 +321,12 @@ std::error_code SampleProfileWriterExtBinaryBase::writeOneSection( if (Type == SecFuncMetadata && FunctionSamples::ProfileIsProbeBased) addSectionFlag(SecFuncMetadata, SecFuncMetadataFlags::SecFlagIsProbeBased); if (Type == SecFuncMetadata && - (FunctionSamples::ProfileIsCSFlat || FunctionSamples::ProfileIsCSNested)) + (FunctionSamples::ProfileIsCS || FunctionSamples::ProfileIsPreInlined)) addSectionFlag(SecFuncMetadata, SecFuncMetadataFlags::SecFlagHasAttribute); - if (Type == SecProfSummary && FunctionSamples::ProfileIsCSFlat) + if (Type == SecProfSummary && FunctionSamples::ProfileIsCS) addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagFullContext); - if (Type == SecProfSummary && FunctionSamples::ProfileIsCSNested) - addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagIsCSNested); + if (Type == SecProfSummary && FunctionSamples::ProfileIsPreInlined) + addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagIsPreInlined); if (Type == SecProfSummary && FunctionSamples::ProfileIsFS) addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagFSDiscriminator); @@ -471,7 +468,7 @@ SampleProfileWriterCompactBinary::write(const SampleProfileMap &ProfileMap) { /// it needs to be parsed by the SampleProfileReaderText class. std::error_code SampleProfileWriterText::writeSample(const FunctionSamples &S) { auto &OS = *OutputStream; - if (FunctionSamples::ProfileIsCSFlat) + if (FunctionSamples::ProfileIsCS) OS << "[" << S.getContext().toString() << "]:" << S.getTotalSamples(); else OS << S.getName() << ":" << S.getTotalSamples(); @@ -871,8 +868,7 @@ SampleProfileWriter::create(std::unique_ptr<raw_ostream> &OS, std::unique_ptr<SampleProfileWriter> Writer; // Currently only Text and Extended Binary format are supported for CSSPGO. - if ((FunctionSamples::ProfileIsCSFlat || - FunctionSamples::ProfileIsProbeBased) && + if ((FunctionSamples::ProfileIsCS || FunctionSamples::ProfileIsProbeBased) && (Format == SPF_Binary || Format == SPF_Compact_Binary)) return sampleprof_error::unsupported_writing_format; |
