[llvm-branch-commits] [llvm] [llvm-profgen][NFC] Factor out parseAddress (PR #191594)
Amir Ayupov via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri May 1 16:08:13 PDT 2026
https://github.com/aaupov updated https://github.com/llvm/llvm-project/pull/191594
>From 97678ade1c3cf0cd84d814ef0e849a681e2297e0 Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Fri, 10 Apr 2026 21:10:08 -0700
Subject: [PATCH 1/2] HasPrefix
Created using spr 1.3.4
---
llvm/tools/llvm-profgen/PerfReader.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/llvm/tools/llvm-profgen/PerfReader.cpp b/llvm/tools/llvm-profgen/PerfReader.cpp
index 9dda11a7ade50..0d90a77fca185 100644
--- a/llvm/tools/llvm-profgen/PerfReader.cpp
+++ b/llvm/tools/llvm-profgen/PerfReader.cpp
@@ -657,7 +657,7 @@ void HybridPerfReader::unwindSamples() {
}
/// Parse a hex address from \p Str.
-static bool parseAddress(StringRef Str, uint64_t &Addr, bool HasPrefix = false) {
+static bool parseAddress(StringRef Str, uint64_t &Addr, bool HasPrefix) {
if (Str.consume_front("0x") != HasPrefix)
return false;
return Str.getAsInteger(16, Addr);
@@ -681,7 +681,7 @@ bool PerfScriptReader::extractLBRStack(TraceStream &TraceIt,
size_t Index = 0;
uint64_t LeadingAddr;
if (!Records.empty() && !Records[0].contains('/')) {
- if (parseAddress(Records[0], LeadingAddr)) {
+ if (parseAddress(Records[0], LeadingAddr, false)) {
WarnInvalidLBR(TraceIt);
TraceIt.advance();
return false;
@@ -740,7 +740,7 @@ bool PerfScriptReader::extractCallstack(TraceStream &TraceIt,
while (!TraceIt.isAtEoF() && !TraceIt.getCurrentLine().starts_with(" 0x")) {
StringRef FrameStr = TraceIt.getCurrentLine().ltrim();
uint64_t FrameAddr = 0;
- if (parseAddress(FrameStr, FrameAddr)) {
+ if (parseAddress(FrameStr, FrameAddr, false)) {
// We might parse a non-perf sample line like empty line and comments,
// skip it
TraceIt.advance();
@@ -1208,7 +1208,7 @@ PerfContent PerfScriptReader::checkPerfScriptType(StringRef FileName) {
// Detect sample with call stack
int32_t Count = 0;
while (!TraceIt.isAtEoF() &&
- !parseAddress(TraceIt.getCurrentLine().ltrim(), FrameAddr)) {
+ !parseAddress(TraceIt.getCurrentLine().ltrim(), FrameAddr, false)) {
Count++;
TraceIt.advance();
}
>From f06cb0d66fcaa4ec041e4807dcb58d23241f589b Mon Sep 17 00:00:00 2001
From: Amir Ayupov <aaupov at fb.com>
Date: Fri, 10 Apr 2026 22:44:09 -0700
Subject: [PATCH 2/2] Update llvm/tools/llvm-profgen/PerfReader.cpp
---
llvm/tools/llvm-profgen/PerfReader.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/tools/llvm-profgen/PerfReader.cpp b/llvm/tools/llvm-profgen/PerfReader.cpp
index 0d90a77fca185..2b4b868efb4fd 100644
--- a/llvm/tools/llvm-profgen/PerfReader.cpp
+++ b/llvm/tools/llvm-profgen/PerfReader.cpp
@@ -659,7 +659,7 @@ void HybridPerfReader::unwindSamples() {
/// Parse a hex address from \p Str.
static bool parseAddress(StringRef Str, uint64_t &Addr, bool HasPrefix) {
if (Str.consume_front("0x") != HasPrefix)
- return false;
+ return true;
return Str.getAsInteger(16, Addr);
}
More information about the llvm-branch-commits
mailing list