From f19f3f75ca3754f8d777665dd4457e3737879e7e Mon Sep 17 00:00:00 2001 From: mingmingl Date: Thu, 21 Aug 2025 21:42:54 -0700 Subject: [PATCH] [NFC]In text sample prof reader, report dreport more concrete parsing errors for different line types --- llvm/lib/ProfileData/SampleProfReader.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/llvm/lib/ProfileData/SampleProfReader.cpp b/llvm/lib/ProfileData/SampleProfReader.cpp index d147222fe2ce..c4cba62524ed 100644 --- a/llvm/lib/ProfileData/SampleProfReader.cpp +++ b/llvm/lib/ProfileData/SampleProfReader.cpp @@ -357,6 +357,7 @@ std::error_code SampleProfileReaderText::readImpl() { uint64_t NumSamples, NumHeadSamples; StringRef FName; if (!ParseHead(*LineIt, FName, NumSamples, NumHeadSamples)) { + reportError(LineIt.line_number(), "Expected 'mangled_name:NUM:NUM', found " + *LineIt); return sampleprof_error::malformed; @@ -382,9 +383,16 @@ std::error_code SampleProfileReaderText::readImpl() { if (!ParseLine(*LineIt, LineTy, Depth, NumSamples, LineOffset, Discriminator, FName, TargetCountMap, FunctionHash, Attributes, IsFlat)) { - reportError(LineIt.line_number(), - "Expected 'NUM[.NUM]: NUM[ mangled_name:NUM]*', found " + - *LineIt); + switch (LineTy) { + case LineType::Metadata: + reportError(LineIt.line_number(), + "Cannot parse metadata: " + *LineIt); + break; + default: + reportError(LineIt.line_number(), + "Expected 'NUM[.NUM]: NUM[ mangled_name:NUM]*', found " + + *LineIt); + } return sampleprof_error::malformed; } if (LineTy != LineType::Metadata && Depth == DepthMetadata) {