[llvm] [memprof] Use std::optional (NFC) (PR #88366)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 11 01:23:26 PDT 2024
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/88366
None
>From cd31b310daf7eaeba242f21509eacd78b26a7b09 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Tue, 9 Apr 2024 00:38:45 -0700
Subject: [PATCH] [memprof] Use std::optional (NFC)
---
llvm/lib/ProfileData/InstrProfReader.cpp | 9 ++++-----
llvm/unittests/ProfileData/InstrProfTest.cpp | 9 ++++-----
2 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/llvm/lib/ProfileData/InstrProfReader.cpp b/llvm/lib/ProfileData/InstrProfReader.cpp
index 884334ed070e8d..a35366a106a322 100644
--- a/llvm/lib/ProfileData/InstrProfReader.cpp
+++ b/llvm/lib/ProfileData/InstrProfReader.cpp
@@ -33,6 +33,7 @@
#include <cstdint>
#include <limits>
#include <memory>
+#include <optional>
#include <system_error>
#include <utility>
#include <vector>
@@ -1506,13 +1507,11 @@ IndexedInstrProfReader::getMemProfRecord(const uint64_t FuncNameHash) {
// Setup a callback to convert from frame ids to frame using the on-disk
// FrameData hash table.
- memprof::FrameId LastUnmappedFrameId = 0;
- bool HasFrameMappingError = false;
+ std::optional<memprof::FrameId> LastUnmappedFrameId;
auto IdToFrameCallback = [&](const memprof::FrameId Id) {
auto FrIter = MemProfFrameTable->find(Id);
if (FrIter == MemProfFrameTable->end()) {
LastUnmappedFrameId = Id;
- HasFrameMappingError = true;
return memprof::Frame(0, 0, 0, false);
}
return *FrIter;
@@ -1521,10 +1520,10 @@ IndexedInstrProfReader::getMemProfRecord(const uint64_t FuncNameHash) {
memprof::MemProfRecord Record(*Iter, IdToFrameCallback);
// Check that all frame ids were successfully converted to frames.
- if (HasFrameMappingError) {
+ if (LastUnmappedFrameId) {
return make_error<InstrProfError>(instrprof_error::hash_mismatch,
"memprof frame not found for frame id " +
- Twine(LastUnmappedFrameId));
+ Twine(*LastUnmappedFrameId));
}
return Record;
}
diff --git a/llvm/unittests/ProfileData/InstrProfTest.cpp b/llvm/unittests/ProfileData/InstrProfTest.cpp
index 732f8fd792f8de..82701c47daf71c 100644
--- a/llvm/unittests/ProfileData/InstrProfTest.cpp
+++ b/llvm/unittests/ProfileData/InstrProfTest.cpp
@@ -19,6 +19,7 @@
#include "llvm/Testing/Support/Error.h"
#include "gtest/gtest.h"
#include <cstdarg>
+#include <optional>
using namespace llvm;
using ::testing::EndsWith;
@@ -433,21 +434,19 @@ TEST_F(InstrProfTest, test_memprof) {
ASSERT_THAT_ERROR(RecordOr.takeError(), Succeeded());
const memprof::MemProfRecord &Record = RecordOr.get();
- memprof::FrameId LastUnmappedFrameId = 0;
- bool HasFrameMappingError = false;
+ std::optional<memprof::FrameId> LastUnmappedFrameId;
auto IdToFrameCallback = [&](const memprof::FrameId Id) {
auto Iter = IdToFrameMap.find(Id);
if (Iter == IdToFrameMap.end()) {
LastUnmappedFrameId = Id;
- HasFrameMappingError = true;
return memprof::Frame(0, 0, 0, false);
}
return Iter->second;
};
const memprof::MemProfRecord WantRecord(IndexedMR, IdToFrameCallback);
- ASSERT_FALSE(HasFrameMappingError)
- << "could not map frame id: " << LastUnmappedFrameId;
+ ASSERT_FALSE(LastUnmappedFrameId.has_value())
+ << "could not map frame id: " << *LastUnmappedFrameId;
EXPECT_THAT(WantRecord, EqualsRecord(Record));
}
More information about the llvm-commits
mailing list