Skip to content

Commit ff0b634

Browse files
committed
[CSSPGO] Print "context-nested" instead of "preilnined" for ProfileSummarySection.
Reviewed By: wenlei Differential Revision: https://reviews.llvm.org/D117141
1 parent 2e2999c commit ff0b634

File tree

4 files changed

+12
-13
lines changed

4 files changed

+12
-13
lines changed

llvm/include/llvm/ProfileData/SampleProf.h

+5-3
Original file line numberDiff line numberDiff line change
@@ -195,19 +195,21 @@ enum class SecProfSummaryFlags : uint32_t {
195195
/// The common profile is usually merged from profiles collected
196196
/// from running other targets.
197197
SecFlagPartial = (1 << 0),
198-
/// SecFlagContext means this is context-sensitive profile for
198+
/// SecFlagContext means this is context-sensitive flat profile for
199199
/// CSSPGO
200200
SecFlagFullContext = (1 << 1),
201201
/// SecFlagFSDiscriminator means this profile uses flow-sensitive
202202
/// discriminators.
203-
SecFlagFSDiscriminator = (1 << 2)
203+
SecFlagFSDiscriminator = (1 << 2),
204+
/// SecFlagIsCSNested means this is context-sensitive nested profile for
205+
/// CSSPGO
206+
SecFlagIsCSNested = (1 << 4),
204207
};
205208

206209
enum class SecFuncMetadataFlags : uint32_t {
207210
SecFlagInvalid = 0,
208211
SecFlagIsProbeBased = (1 << 0),
209212
SecFlagHasAttribute = (1 << 1),
210-
SecFlagIsCSNested = (1 << 2),
211213
};
212214

213215
enum class SecFuncOffsetFlags : uint32_t {

llvm/lib/ProfileData/SampleProfReader.cpp

+4-5
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,8 @@ std::error_code SampleProfileReaderExtBinaryBase::readOneSection(
655655
Summary->setPartialProfile(true);
656656
if (hasSecFlag(Entry, SecProfSummaryFlags::SecFlagFullContext))
657657
FunctionSamples::ProfileIsCSFlat = ProfileIsCSFlat = true;
658+
if (hasSecFlag(Entry, SecProfSummaryFlags::SecFlagIsCSNested))
659+
FunctionSamples::ProfileIsCSNested = ProfileIsCSNested;
658660
if (hasSecFlag(Entry, SecProfSummaryFlags::SecFlagFSDiscriminator))
659661
FunctionSamples::ProfileIsFS = ProfileIsFS = true;
660662
break;
@@ -688,9 +690,6 @@ std::error_code SampleProfileReaderExtBinaryBase::readOneSection(
688690
ProfileIsProbeBased =
689691
hasSecFlag(Entry, SecFuncMetadataFlags::SecFlagIsProbeBased);
690692
FunctionSamples::ProfileIsProbeBased = ProfileIsProbeBased;
691-
ProfileIsCSNested =
692-
hasSecFlag(Entry, SecFuncMetadataFlags::SecFlagIsCSNested);
693-
FunctionSamples::ProfileIsCSNested = ProfileIsCSNested;
694693
bool HasAttribute =
695694
hasSecFlag(Entry, SecFuncMetadataFlags::SecFlagHasAttribute);
696695
if (std::error_code EC = readFuncMetadata(HasAttribute))
@@ -1276,6 +1275,8 @@ static std::string getSecFlagsStr(const SecHdrTableEntry &Entry) {
12761275
Flags.append("partial,");
12771276
if (hasSecFlag(Entry, SecProfSummaryFlags::SecFlagFullContext))
12781277
Flags.append("context,");
1278+
if (hasSecFlag(Entry, SecProfSummaryFlags::SecFlagIsCSNested))
1279+
Flags.append("context-nested,");
12791280
if (hasSecFlag(Entry, SecProfSummaryFlags::SecFlagFSDiscriminator))
12801281
Flags.append("fs-discriminator,");
12811282
break;
@@ -1288,8 +1289,6 @@ static std::string getSecFlagsStr(const SecHdrTableEntry &Entry) {
12881289
Flags.append("probe,");
12891290
if (hasSecFlag(Entry, SecFuncMetadataFlags::SecFlagHasAttribute))
12901291
Flags.append("attr,");
1291-
if (hasSecFlag(Entry, SecFuncMetadataFlags::SecFlagIsCSNested))
1292-
Flags.append("preinlined,");
12931292
break;
12941293
default:
12951294
break;

llvm/lib/ProfileData/SampleProfWriter.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -323,13 +323,13 @@ std::error_code SampleProfileWriterExtBinaryBase::writeOneSection(
323323
setToCompressSection(SecProfileSymbolList);
324324
if (Type == SecFuncMetadata && FunctionSamples::ProfileIsProbeBased)
325325
addSectionFlag(SecFuncMetadata, SecFuncMetadataFlags::SecFlagIsProbeBased);
326-
if (Type == SecFuncMetadata && FunctionSamples::ProfileIsCSNested)
327-
addSectionFlag(SecFuncMetadata, SecFuncMetadataFlags::SecFlagIsCSNested);
328326
if (Type == SecFuncMetadata &&
329327
(FunctionSamples::ProfileIsCSFlat || FunctionSamples::ProfileIsCSNested))
330328
addSectionFlag(SecFuncMetadata, SecFuncMetadataFlags::SecFlagHasAttribute);
331329
if (Type == SecProfSummary && FunctionSamples::ProfileIsCSFlat)
332330
addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagFullContext);
331+
if (Type == SecProfSummary && FunctionSamples::ProfileIsCSNested)
332+
addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagIsCSNested);
333333
if (Type == SecProfSummary && FunctionSamples::ProfileIsFS)
334334
addSectionFlag(SecProfSummary, SecProfSummaryFlags::SecFlagFSDiscriminator);
335335

llvm/test/tools/llvm-profdata/cs-sample-nested-profile.test

+1-3
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,4 @@ RUN: FileCheck %s < %t.proftext --match-full-lines --strict-whitespace -check-pr
152152
; PROBE-NEXT: !CFGChecksum: 563022570642068
153153

154154

155-
; PREINLINE: FunctionMetadata {{.*}} Flags: {attr,preinlined}
156-
157-
155+
; PREINLINE: ProfileSummarySection {{.*}} Flags: {context-nested}

0 commit comments

Comments
 (0)