https://github.com/mingmingl-llvm created
https://github.com/llvm/llvm-project/pull/139997
None
>From 75878647c2c36cca00e9d003dc84bf4597e19187 Mon Sep 17 00:00:00 2001
From: mingmingl
Date: Tue, 13 May 2025 22:54:59 -0700
Subject: [PATCH] [StaticDataLayout][PGO]Implement reader and writer chan
https://github.com/mingmingl-llvm approved this pull request.
https://github.com/llvm/llvm-project/pull/140504
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/mingmingl-llvm edited
https://github.com/llvm/llvm-project/pull/139997
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/mingmingl-llvm ready_for_review
https://github.com/llvm/llvm-project/pull/139997
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -603,6 +630,14 @@ class ProfiledBinary {
return ProbeDecoder.getInlinerDescForProbe(Probe);
}
+ void addMMapNonTextEvent(MMapEvent MMap) {
+MMapNonTextEvents.push_back(MMap);
+ }
+
+ // Given a runtime address, canonicalize it to the virtual address in the
+ /
@@ -370,6 +377,61 @@ PerfReaderBase::create(ProfiledBinary *Binary,
PerfInputFile &PerfInput,
return PerfReader;
}
+void PerfReaderBase::parseDataAccessPerfTraces(
+StringRef DataAccessPerfTraceFile, std::optional PIDFilter) {
+ std::regex logRegex(
+
R"(^.*?PERF
@@ -540,6 +540,22 @@ void ProfileGenerator::generateLineNumBasedProfile() {
// Fill in boundary sample counts as well as call site samples for calls
populateBoundarySamplesForAllFunctions(SC.BranchCounter);
+ // For each instruction with vtable accesses, get its symbolize
@@ -0,0 +1,18 @@
+RUN: llvm-profgen --perfscript=%p/Inputs/lbr-perf-for-dap.script
--data-access-profile=%p/Inputs/dap-perf-trace.txt \
+RUN: --binary=%p/Inputs/dap.perfbin --format=text --pid=3446532 \
mingmingl-llvm wrote:
done.
Somehow my previous commit le
@@ -67,6 +67,11 @@ static cl::opt DebugBinPath(
"from it instead of the executable binary."),
cl::cat(ProfGenCategory));
+static cl::opt DataAccessProfileFilename(
+"data-access-profile", cl::value_desc("data-access-profile"),
+cl::desc("Path of the da
https://github.com/mingmingl-llvm commented:
thanks for reviews! PTAL.
https://github.com/llvm/llvm-project/pull/148013
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-
@@ -946,6 +978,14 @@ SampleContextFrameVector ProfiledBinary::symbolize(const
InstructionPointer &IP,
return CallStack;
}
+StringRef ProfiledBinary::symbolizeDataAddress(uint64_t Address) {
+ DIGlobal DataDIGlobal = unwrapOrError(
+ Symbolizer->symbolizeData(Symbolize
@@ -370,6 +377,61 @@ PerfReaderBase::create(ProfiledBinary *Binary,
PerfInputFile &PerfInput,
return PerfReader;
}
+void PerfReaderBase::parseDataAccessPerfTraces(
+StringRef DataAccessPerfTraceFile, std::optional PIDFilter) {
+ std::regex logRegex(
+
R"(^.*?PERF
@@ -370,6 +377,61 @@ PerfReaderBase::create(ProfiledBinary *Binary,
PerfInputFile &PerfInput,
return PerfReader;
}
+void PerfReaderBase::parseDataAccessPerfTraces(
+StringRef DataAccessPerfTraceFile, std::optional PIDFilter) {
+ std::regex logRegex(
mi
@@ -572,6 +579,13 @@ class PerfReaderBase {
// Entry of the reader to parse multiple perf traces
virtual void parsePerfTraces() = 0;
+
+ // Parse the from the data access perf trace file,
+ // and accummuate the data access count for each pair.
mingmin
@@ -370,6 +377,61 @@ PerfReaderBase::create(ProfiledBinary *Binary,
PerfInputFile &PerfInput,
return PerfReader;
}
+void PerfReaderBase::parseDataAccessPerfTraces(
+StringRef DataAccessPerfTraceFile, std::optional PIDFilter) {
+ std::regex logRegex(
+
R"(^.*?PERF
@@ -598,6 +612,12 @@ class PerfScriptReader : public PerfReaderBase {
// Entry of the reader to parse multiple perf traces
void parsePerfTraces() override;
+
+ // Parse a single line of a PERF_RECORD_MMAP event looking for a
+ // mapping between the binary name and its m
@@ -946,6 +978,14 @@ SampleContextFrameVector ProfiledBinary::symbolize(const
InstructionPointer &IP,
return CallStack;
}
+StringRef ProfiledBinary::symbolizeDataAddress(uint64_t Address) {
+ DIGlobal DataDIGlobal = unwrapOrError(
+ Symbolizer->symbolizeData(Symbolize
@@ -276,6 +286,19 @@ class ProfiledBinary {
// String table owning function name strings created from the symbolizer.
std::unordered_set NameStrings;
+ // MMap events for PT_LOAD segments without 'x' memory protection flag.
+ SmallVector MMapNonTextEvents;
+
+ // Record
https://github.com/mingmingl-llvm edited
https://github.com/llvm/llvm-project/pull/148013
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/mingmingl-llvm edited
https://github.com/llvm/llvm-project/pull/148013
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
https://github.com/mingmingl-llvm ready_for_review
https://github.com/llvm/llvm-project/pull/148013
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
201 - 221 of 221 matches
Mail list logo