[llvm] [NFC][SampleFDO] In text sample prof reader, report dreport more concrete parsing errors for different line types (PR #154885)
Mingming Liu via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 21 21:54:05 PDT 2025
https://github.com/mingmingl-llvm updated https://github.com/llvm/llvm-project/pull/154885
>From f19f3f75ca3754f8d777665dd4457e3737879e7e Mon Sep 17 00:00:00 2001
From: mingmingl <mingmingl at google.com>
Date: Thu, 21 Aug 2025 21:42:54 -0700
Subject: [PATCH 1/2] [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 d147222fe2ce6..c4cba62524ed6 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) {
>From 4fd84dbc4eb7553fec9763a0e9007c38df499e34 Mon Sep 17 00:00:00 2001
From: mingmingl <mingmingl at google.com>
Date: Thu, 21 Aug 2025 21:53:46 -0700
Subject: [PATCH 2/2] undo empty line
---
llvm/lib/ProfileData/SampleProfReader.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/llvm/lib/ProfileData/SampleProfReader.cpp b/llvm/lib/ProfileData/SampleProfReader.cpp
index c4cba62524ed6..15eb1d174d6fa 100644
--- a/llvm/lib/ProfileData/SampleProfReader.cpp
+++ b/llvm/lib/ProfileData/SampleProfReader.cpp
@@ -357,7 +357,6 @@ 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;
More information about the llvm-commits
mailing list