llvmbot wrote:
@llvm/pr-subscribers-bolt
Author: Amir Ayupov (aaupov)
Changes
LBREntry is only used in DataAggregator.
Test Plan: NFC
---
Full diff: https://github.com/llvm/llvm-project/pull/143287.diff
3 Files Affected:
- (modified) bolt/include/bolt/Profile/DataAggregator.h (+13-1)
- (modified) bolt/include/bolt/Profile/DataReader.h (-12)
- (modified) bolt/lib/Profile/DataAggregator.cpp (+2-8)
``diff
diff --git a/bolt/include/bolt/Profile/DataAggregator.h
b/bolt/include/bolt/Profile/DataAggregator.h
index cb8e81b829a09..3f07a6dc03a4f 100644
--- a/bolt/include/bolt/Profile/DataAggregator.h
+++ b/bolt/include/bolt/Profile/DataAggregator.h
@@ -78,6 +78,13 @@ class DataAggregator : public DataReader {
static bool checkPerfDataMagic(StringRef FileName);
private:
+ struct LBREntry {
+uint64_t From;
+uint64_t To;
+bool Mispred;
+ };
+ friend raw_ostream &operator<<(raw_ostream &OS, const LBREntry &);
+
struct PerfBranchSample {
SmallVector LBR;
};
@@ -476,7 +483,6 @@ class DataAggregator : public DataReader {
/// Debugging dump methods
void dump() const;
- void dump(const LBREntry &LBR) const;
void dump(const PerfBranchSample &Sample) const;
void dump(const PerfMemSample &Sample) const;
@@ -504,6 +510,12 @@ class DataAggregator : public DataReader {
friend class YAMLProfileWriter;
};
+
+inline raw_ostream &operator<<(raw_ostream &OS,
+ const DataAggregator::LBREntry &L) {
+ OS << formatv("{0:x} -> {1:x}/{2}", L.From, L.To, L.Mispred ? 'M' : 'P');
+ return OS;
+}
} // namespace bolt
} // namespace llvm
diff --git a/bolt/include/bolt/Profile/DataReader.h
b/bolt/include/bolt/Profile/DataReader.h
index 60316ff09ae35..6f527ba3931d4 100644
--- a/bolt/include/bolt/Profile/DataReader.h
+++ b/bolt/include/bolt/Profile/DataReader.h
@@ -32,18 +32,6 @@ namespace bolt {
class BinaryFunction;
-struct LBREntry {
- uint64_t From;
- uint64_t To;
- bool Mispred;
-};
-
-inline raw_ostream &operator<<(raw_ostream &OS, const LBREntry &LBR) {
- OS << "0x" << Twine::utohexstr(LBR.From) << " -> 0x"
- << Twine::utohexstr(LBR.To);
- return OS;
-}
-
struct Location {
bool IsSymbol;
StringRef Name;
diff --git a/bolt/lib/Profile/DataAggregator.cpp
b/bolt/lib/Profile/DataAggregator.cpp
index 52452a3bb0d46..b1172fd13bc72 100644
--- a/bolt/lib/Profile/DataAggregator.cpp
+++ b/bolt/lib/Profile/DataAggregator.cpp
@@ -967,7 +967,7 @@ bool DataAggregator::recordExit(BinaryFunction &BF,
uint64_t From, bool Mispred,
return true;
}
-ErrorOr DataAggregator::parseLBREntry() {
+ErrorOr DataAggregator::parseLBREntry() {
LBREntry Res;
ErrorOr FromStrRes = parseString('/');
if (std::error_code EC = FromStrRes.getError())
@@ -2394,16 +2394,10 @@ std::error_code
DataAggregator::writeBATYAML(BinaryContext &BC,
void DataAggregator::dump() const { DataReader::dump(); }
-void DataAggregator::dump(const LBREntry &LBR) const {
- Diag << "From: " << Twine::utohexstr(LBR.From)
- << " To: " << Twine::utohexstr(LBR.To) << " Mispred? " << LBR.Mispred
- << "\n";
-}
-
void DataAggregator::dump(const PerfBranchSample &Sample) const {
Diag << "Sample LBR entries: " << Sample.LBR.size() << "\n";
for (const LBREntry &LBR : Sample.LBR)
-dump(LBR);
+Diag << LBR << '\n';
}
void DataAggregator::dump(const PerfMemSample &Sample) const {
``
https://github.com/llvm/llvm-project/pull/143287
___
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits