[llvm] [NFC][SampleFDO] Re-apply "In text sample prof reader, report dreport more concrete parsing errors for different line types" (PR #155124)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 23 16:35:02 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-pgo
Author: Mingming Liu (mingmingl-llvm)
<details>
<summary>Changes</summary>
Re-apply https://github.com/llvm/llvm-project/pull/154885 with a fix to initialize `LineTy` before calling `ParseLine`.
---
Full diff: https://github.com/llvm/llvm-project/pull/155124.diff
1 Files Affected:
- (modified) llvm/lib/ProfileData/SampleProfReader.cpp (+11-4)
``````````diff
diff --git a/llvm/lib/ProfileData/SampleProfReader.cpp b/llvm/lib/ProfileData/SampleProfReader.cpp
index d147222fe2ce6..12769a391286c 100644
--- a/llvm/lib/ProfileData/SampleProfReader.cpp
+++ b/llvm/lib/ProfileData/SampleProfReader.cpp
@@ -375,16 +375,23 @@ std::error_code SampleProfileReaderText::readImpl() {
StringRef FName;
DenseMap<StringRef, uint64_t> TargetCountMap;
uint32_t Depth, LineOffset, Discriminator;
- LineType LineTy;
+ LineType LineTy = LineType::BodyProfile;
uint64_t FunctionHash = 0;
uint32_t Attributes = 0;
bool IsFlat = false;
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) {
``````````
</details>
https://github.com/llvm/llvm-project/pull/155124
More information about the llvm-commits
mailing list