@@ -16,6 +16,37 @@
namespace llvm {
namespace bolt {
+/// A class for matching binary functions in functions in the YAML profile.
+struct CallGraphMatcher {
aaupov wrote:
Let's make it a proper class
https://github.com/llvm/llvm-project/pull/98125
__
@@ -446,6 +503,56 @@ size_t YAMLProfileReader::matchWithLTOCommonName() {
return MatchedWithLTOCommonName;
}
+size_t YAMLProfileReader::matchWithCallGraph(BinaryContext &BC) {
+ if (!opts::MatchWithCallGraph)
+return 0;
+
+ size_t MatchedWithCallGraph = 0;
+ CGMatcher
https://github.com/aaupov edited https://github.com/llvm/llvm-project/pull/98125
___
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/aaupov approved this pull request.
LG with a couple of nits
https://github.com/llvm/llvm-project/pull/98125
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-
@@ -43,6 +43,57 @@ class YAMLProfileReader : public ProfileReaderBase {
using ProfileLookupMap =
DenseMap;
+ /// A class for matching binary functions in functions in the YAML profile.
+ /// First, a call graph is constructed for both profiled and binary
functions.
@@ -43,6 +43,57 @@ class YAMLProfileReader : public ProfileReaderBase {
using ProfileLookupMap =
DenseMap;
+ /// A class for matching binary functions in functions in the YAML profile.
+ /// First, a call graph is constructed for both profiled and binary
functions.
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/99553
AddressProbesMap is keyed by binary addresses, and it makes sense to
treat them as ordered. This also enables slicing by binary function/
binary basic block, to be used in BOLT.
Test Plan: NFC
_
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/99554
Read pseudo probes in regular and BAT YAML profile generation, and
attach them to YAML profile basic blocks. This exposes GUID, probe id,
and probe type in profile for future use in stale profile matching.
Test Pl
https://github.com/aaupov edited https://github.com/llvm/llvm-project/pull/99553
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/99554
>From 9498f8f38cea050fd363d5d4591e8401e5de8bd5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Thu, 18 Jul 2024 12:49:23 -0700
Subject: [PATCH] Fix operator==
Created using spr 1.3.4
---
bolt/include/bolt/Profi
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/99554
>From 9498f8f38cea050fd363d5d4591e8401e5de8bd5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Thu, 18 Jul 2024 12:49:23 -0700
Subject: [PATCH 1/2] Fix operator==
Created using spr 1.3.4
---
bolt/include/bolt/P
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/91667
>From dd4d0de42048c063d5e5095a0c2594c7cc578df5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Thu, 9 May 2024 19:35:26 -0700
Subject: [PATCH 1/5] Fix RISCVMCPlusBuilder
Created using spr 1.3.4
---
bolt/lib/Tar
@@ -1876,6 +1876,13 @@ class X86MCPlusBuilder : public MCPlusBuilder {
//add %r2, %r1
//jmp *%r1
//
+// or a fixed indirect jump template:
+//
+//movslq En(%rip), {%r2|%r1}
+//lea PIC_JUMP_TABLE(%rip), {%r1|%r2} <- MemLocInstr
---
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/91667
>From dd4d0de42048c063d5e5095a0c2594c7cc578df5 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Thu, 9 May 2024 19:35:26 -0700
Subject: [PATCH 1/6] Fix RISCVMCPlusBuilder
Created using spr 1.3.4
---
bolt/lib/Tar
https://github.com/aaupov closed https://github.com/llvm/llvm-project/pull/91667
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/99553
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/99553
___
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/aaupov created
https://github.com/llvm/llvm-project/pull/99979
Three-way splitting can create references between split fragments (warm
to cold or vice versa) that are not handled by
`isChildOf/isParentOf/isChildOrParentOf`. Generalize fragment
relationships to allow checking i
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/99988
Multi-way splitting can cause multiple fragments to access the same jump
table. Relax the assumption that a jump table can only have up to two
parents.
Test Plan: added bolt/test/X86/three-way-split-jt.s
__
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/99979
>From f6478e36a962843329c519ba35ad2a132ffd8c9e Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 22 Jul 2024 16:34:02 -0700
Subject: [PATCH] fix getOrCreateJumpTable
Created using spr 1.3.4
---
bolt/lib/Core
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/99988
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/99988
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -241,6 +242,10 @@ class BinaryContext {
/// Function fragments to skip.
std::unordered_set FragmentsToSkip;
+ /// Fragment equivalence classes to query belonging to the same "family" in
+ /// presence of multiple fragments/multiple parents.
+ EquivalenceClasses Fragm
@@ -266,6 +287,47 @@ class StaleMatcher {
}
return BestBlock;
}
+ // Uses pseudo probe information to attach the profile to the appropriate
+ // block.
+ const FlowBlock *matchWithPseudoProbes(
+ const std::vector &PseudoProbes) const {
+// Searches for th
@@ -266,6 +287,47 @@ class StaleMatcher {
}
return BestBlock;
}
+ // Uses pseudo probe information to attach the profile to the appropriate
+ // block.
+ const FlowBlock *matchWithPseudoProbes(
+ const std::vector &PseudoProbes) const {
+// Searches for th
@@ -306,26 +310,41 @@ class StaleMatcher {
BlockPseudoProbes.push_back(&PseudoProbe);
}
-
// Returns nullptr if there is not a 1:1 mapping of the yaml block pseudo
// probe and binary pseudo probe.
-if (BlockPseudoProbes.size() == 0 || BlockPseudoProbes
@@ -555,6 +574,10 @@ size_t matchWeightsByHashes(
ProbeMap.lower_bound(FuncAddr + BlockRange.second));
for (const auto &[_, Probes] : BlockProbes) {
for (const MCDecodedPseudoProbe &Probe : Probes) {
+ if (Probe.getInlineTreeNod
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/99988
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/99988
___
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/aaupov ready_for_review
https://github.com/llvm/llvm-project/pull/100299
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/100299
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/100299
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -206,13 +213,30 @@ class StaleMatcher {
CallHashToBlocks[CallHashes[I]].push_back(
std::make_pair(Hashes[I], Block));
}
+this->IndexToBBPseudoProbes = IndexToBBPseudoProbes;
+this->BBPseudoProbeToBlock = BBPseudoProbeToBlock;
+this->YamlBF
https://github.com/aaupov approved this pull request.
LG but let's give some time for other reviewers
https://github.com/llvm/llvm-project/pull/99891
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin
@@ -266,6 +313,65 @@ class StaleMatcher {
}
return BestBlock;
}
+ // Uses pseudo probe information to attach the profile to the appropriate
+ // block.
+ const FlowBlock *matchWithPseudoProbes(
+ BlendedBlockHash BlendedHash,
+ const std::vector &PseudoPr
@@ -45,6 +45,8 @@ namespace opts {
extern cl::opt TimeRewrite;
extern cl::OptionCategory BoltOptCategory;
+extern cl::opt Verbosity;
+extern cl::opt ProfileUsePseudoProbes;
aaupov wrote:
No, I intended `ProfileUsePseudoProbes` to cover both generation and use
@@ -208,11 +212,33 @@ class StaleMatcher {
}
}
- /// Find the most similar block for a given hash.
- const FlowBlock *matchBlock(BlendedBlockHash BlendedHash,
- uint64_t CallHash) const {
+ /// Creates a mapping from a pseudo probe index t
@@ -45,6 +45,8 @@ namespace opts {
extern cl::opt TimeRewrite;
extern cl::OptionCategory BoltOptCategory;
+extern cl::opt Verbosity;
+extern cl::opt ProfileUsePseudoProbes;
aaupov wrote:
> Ok, I think we need a dedicated flag to control matching strategy, oth
@@ -45,6 +45,8 @@ namespace opts {
extern cl::opt TimeRewrite;
extern cl::OptionCategory BoltOptCategory;
+extern cl::opt Verbosity;
+extern cl::opt ProfileUsePseudoProbes;
aaupov wrote:
> The profile (not stale matching) is clearly using probe as probe exist
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/100655
Reduces peak RSS in `perf2bolt --profile-use-pseudo-probes` to 16.04GiB.
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.or
@@ -223,6 +223,22 @@ static cl::opt TopCalledLimit(
"functions section"),
cl::init(100), cl::Hidden, cl::cat(BoltCategory));
+// Profile density options, synced with llvm-profgen/ProfileGenerator.cpp
+static cl::opt ShowDensity("show-density", cl::init(false),
@@ -223,6 +223,22 @@ static cl::opt TopCalledLimit(
"functions section"),
cl::init(100), cl::Hidden, cl::cat(BoltCategory));
+// Profile density options, synced with llvm-profgen/ProfileGenerator.cpp
+static cl::opt ShowDensity("show-density", cl::init(false),
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/101270
When BOLT is run in AggregateOnly mode (perf2bolt), it exits with code
zero so destructors are not run thus TimerGroup never prints the timers.
Add explicit printing just before the exit to honor options requesti
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/101270
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/101270
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/101270
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/101270
___
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/aaupov converted_to_draft
https://github.com/llvm/llvm-project/pull/101093
___
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/aaupov ready_for_review
https://github.com/llvm/llvm-project/pull/101093
___
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/aaupov closed
https://github.com/llvm/llvm-project/pull/100655
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/101094
>From f598510001859a29f6f1ff6362fb9950ab6340cd Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 29 Jul 2024 16:14:08 -0700
Subject: [PATCH 1/2] Update test to check the option with llvm-bolt with
fdata, YAM
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/101094
>From f598510001859a29f6f1ff6362fb9950ab6340cd Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 29 Jul 2024 16:14:08 -0700
Subject: [PATCH 1/2] Update test to check the option with llvm-bolt with
fdata, YAM
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/101094
>From f598510001859a29f6f1ff6362fb9950ab6340cd Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 29 Jul 2024 16:14:08 -0700
Subject: [PATCH 1/3] Update test to check the option with llvm-bolt with
fdata, YAM
@@ -1441,6 +1458,22 @@ Error PrintProgramStats::runOnFunctions(BinaryContext
&BC) {
StaleSampleCount += SampleCount;
++NumAllStaleFunctions;
}
+
+if (opts::ShowDensity) {
+ uint64_t Size = Function.getSize();
+ // In case of BOLT split functions r
@@ -1441,6 +1458,22 @@ Error PrintProgramStats::runOnFunctions(BinaryContext
&BC) {
StaleSampleCount += SampleCount;
++NumAllStaleFunctions;
}
+
+if (opts::ShowDensity) {
+ uint64_t Size = Function.getSize();
+ // In case of BOLT split functions r
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/102787
Pass `ProbeNode` parameter of `trackInlineesOptimizedAway` as const
reference.
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.l
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/102788
Expand autos in select places to trigger type casts.
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/li
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/102789
Use #102774 to allocate storage for decoded probes (`PseudoProbeVec`)
and function records (`InlineTreeVec`). Additionally, probes and inlined
function records are allocated contiguously, which allows to keep trac
https://github.com/aaupov edited
https://github.com/llvm/llvm-project/pull/102789
___
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/aaupov edited
https://github.com/llvm/llvm-project/pull/102789
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -657,7 +657,7 @@ MCPseudoProbeDecoder::getCallProbeForAddr(uint64_t Address)
const {
const auto &Probes = It->second;
const MCDecodedPseudoProbe *CallProbe = nullptr;
- for (const auto &Probe : Probes) {
aaupov wrote:
In #102789, `Probes` become
`st
https://github.com/aaupov edited
https://github.com/llvm/llvm-project/pull/102788
___
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/aaupov edited
https://github.com/llvm/llvm-project/pull/102789
___
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/aaupov edited
https://github.com/llvm/llvm-project/pull/102788
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -657,7 +657,7 @@ MCPseudoProbeDecoder::getCallProbeForAddr(uint64_t Address)
const {
const auto &Probes = It->second;
const MCDecodedPseudoProbe *CallProbe = nullptr;
- for (const auto &Probe : Probes) {
aaupov wrote:
> Ok, then this change should be
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102787
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102787
___
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits
@@ -657,7 +657,7 @@ MCPseudoProbeDecoder::getCallProbeForAddr(uint64_t Address)
const {
const auto &Probes = It->second;
const MCDecodedPseudoProbe *CallProbe = nullptr;
- for (const auto &Probe : Probes) {
aaupov wrote:
Thank you for clarifying. I'm us
https://github.com/aaupov edited
https://github.com/llvm/llvm-project/pull/102788
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102788
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102788
___
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/aaupov edited
https://github.com/llvm/llvm-project/pull/102789
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
___
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/aaupov created
https://github.com/llvm/llvm-project/pull/102904
Replace the map from addresses to list of probes with a flat vector
containing probe references sorted by their addresses.
Reduces pseudo probe parsing time from 9.56s to 8.59s and peak RSS from
9.66 GiB to 9.08
https://github.com/aaupov created
https://github.com/llvm/llvm-project/pull/102905
Replace unordered_map with a vector. Pre-parse the section to statically
allocate storage. Use BumpPtrAllocator for FuncName strings, keep
StringRef in FuncDesc.
Reduces peak RSS of pseudo probe parsing from 9.08
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102904
>From 3ffb03f8e4bcb2fa235ae989320c466af4a3cda8 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 12 Aug 2024 14:40:57 -0700
Subject: [PATCH] stable_sort
Created using spr 1.3.4
---
llvm/lib/MC/MCPseudoProbe
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102905
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102905
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/101094
>From f598510001859a29f6f1ff6362fb9950ab6340cd Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 29 Jul 2024 16:14:08 -0700
Subject: [PATCH 1/4] Update test to check the option with llvm-bolt with
fdata, YAM
@@ -443,17 +446,24 @@ bool MCPseudoProbeDecoder::buildAddress2ProbeMap(
// If the incoming node is null, all its children nodes should be disgarded.
if (Cur) {
// Switch/add to a new tree node(inlinee)
-Cur = Cur->getOrAddNode(std::make_tuple(Guid, Index));
-Cur
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
>From ddcbb593f72ca47acaa82f9c14a7fd2c4e30903b Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Tue, 13 Aug 2024 03:51:31 -0700
Subject: [PATCH] Pass CurChildIndex by value
Created using spr 1.3.4
---
llvm/incl
@@ -218,9 +220,7 @@ void PseudoProbeRewriter::updatePseudoProbes() {
}
while (CallOutputAddress != CallOutputAddresses.second) {
- AP.second.push_back(*Probe);
- AP.second.back().setAddress(CallOutputAddress->second);
- Probe->getInli
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
>From ddcbb593f72ca47acaa82f9c14a7fd2c4e30903b Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Tue, 13 Aug 2024 03:51:31 -0700
Subject: [PATCH] Pass CurChildIndex by value
Created using spr 1.3.4
---
llvm/incl
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
>From ddcbb593f72ca47acaa82f9c14a7fd2c4e30903b Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Tue, 13 Aug 2024 03:51:31 -0700
Subject: [PATCH] Pass CurChildIndex by value
Created using spr 1.3.4
---
llvm/incl
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102904
>From 3ffb03f8e4bcb2fa235ae989320c466af4a3cda8 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 12 Aug 2024 14:40:57 -0700
Subject: [PATCH] stable_sort
Created using spr 1.3.4
---
llvm/lib/MC/MCPseudoProbe
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102904
>From 3ffb03f8e4bcb2fa235ae989320c466af4a3cda8 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 12 Aug 2024 14:40:57 -0700
Subject: [PATCH] stable_sort
Created using spr 1.3.4
---
llvm/lib/MC/MCPseudoProbe
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
>From ddcbb593f72ca47acaa82f9c14a7fd2c4e30903b Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Tue, 13 Aug 2024 03:51:31 -0700
Subject: [PATCH 1/2] Pass CurChildIndex by value
Created using spr 1.3.4
---
llvm/
https://github.com/aaupov edited
https://github.com/llvm/llvm-project/pull/102789
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102789
>From ddcbb593f72ca47acaa82f9c14a7fd2c4e30903b Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Tue, 13 Aug 2024 03:51:31 -0700
Subject: [PATCH 1/3] Pass CurChildIndex by value
Created using spr 1.3.4
---
llvm/
@@ -213,6 +208,25 @@ class MCDecodedPseudoProbe : public MCPseudoProbeBase {
bool ShowName) const;
};
+// Address to pseudo probes map.
+class AddressProbesMap
+: public std::vector> {
+ auto getIt(uint64_t Addr) const {
+auto CompareProbe = [](const MCDe
@@ -213,6 +208,25 @@ class MCDecodedPseudoProbe : public MCPseudoProbeBase {
bool ShowName) const;
};
+// Address to pseudo probes map.
+class AddressProbesMap
+: public std::vector> {
+ auto getIt(uint64_t Addr) const {
+auto CompareProbe = [](const MCDe
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102904
>From 3ffb03f8e4bcb2fa235ae989320c466af4a3cda8 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 12 Aug 2024 14:40:57 -0700
Subject: [PATCH] stable_sort
Created using spr 1.3.4
---
llvm/lib/MC/MCPseudoProbe
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102904
>From 3ffb03f8e4bcb2fa235ae989320c466af4a3cda8 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 12 Aug 2024 14:40:57 -0700
Subject: [PATCH] stable_sort
Created using spr 1.3.4
---
llvm/lib/MC/MCPseudoProbe
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102905
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102905
___
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/aaupov updated
https://github.com/llvm/llvm-project/pull/102905
>From 284c701cc57a613d11130a349aba522397946f12 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Fri, 16 Aug 2024 03:30:54 -0700
Subject: [PATCH] Assert func desc size
Created using spr 1.3.4
---
llvm/lib/MC/MCP
https://github.com/aaupov updated
https://github.com/llvm/llvm-project/pull/102904
>From 3ffb03f8e4bcb2fa235ae989320c466af4a3cda8 Mon Sep 17 00:00:00 2001
From: Amir Ayupov
Date: Mon, 12 Aug 2024 14:40:57 -0700
Subject: [PATCH 1/2] stable_sort
Created using spr 1.3.4
---
llvm/lib/MC/MCPseudoP
aaupov wrote:
> Tested End-to-End on llvm-profgen on a heavy workload(ported all the stacked
> PR) : The running time is neutral, the maximum RSS is reduced by 3GB (from
> 70GB to 67GB) cc @WenleiHe
To double-check: did you test with or without dwarf-correlation? I tested once
with it, exp
aaupov wrote:
> > For RSS, it's probably because in llvm-profgen, we decoded the pseudo-probe
> > only for profiled function(https://reviews.llvm.org/D121643), so the
> > baseline memory is decreased.
>
>
>
> @aaupov actually do we need to decode profile for functions without profile?
> tha
101 - 200 of 1094 matches
Mail list logo