[llvm] 58f2896 - [XRay] Use DenseMap::{operator[], try_emplace} (NFC) (#107178)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 4 02:09:25 PDT 2024
Author: Kazu Hirata
Date: 2024-09-04T02:09:21-07:00
New Revision: 58f289612f1959256fa2228f013cfe96304b45c4
URL: https://github.com/llvm/llvm-project/commit/58f289612f1959256fa2228f013cfe96304b45c4
DIFF: https://github.com/llvm/llvm-project/commit/58f289612f1959256fa2228f013cfe96304b45c4.diff
LOG: [XRay] Use DenseMap::{operator[],try_emplace} (NFC) (#107178)
I'm planning to deprecate DenseMap::FindAndConstruct in favor of
operator[]. I'm using try_emplace because "Vertices[I.first];" on its
own might look like a nop statement.
Added:
Modified:
llvm/include/llvm/XRay/Graph.h
Removed:
################################################################################
diff --git a/llvm/include/llvm/XRay/Graph.h b/llvm/include/llvm/XRay/Graph.h
index 953ac1aa696371..07b418b8cb6408 100644
--- a/llvm/include/llvm/XRay/Graph.h
+++ b/llvm/include/llvm/XRay/Graph.h
@@ -378,20 +378,17 @@ class Graph {
/// Looks up the vertex with identifier I, if it does not exist it default
/// constructs it.
- VertexAttribute &operator[](const VertexIdentifier &I) {
- return Vertices.FindAndConstruct(I).second;
- }
+ VertexAttribute &operator[](const VertexIdentifier &I) { return Vertices[I]; }
/// Looks up the edge with identifier I, if it does not exist it default
/// constructs it, if it's endpoints do not exist it also default constructs
/// them.
EdgeAttribute &operator[](const EdgeIdentifier &I) {
- auto &P = Edges.FindAndConstruct(I);
- Vertices.FindAndConstruct(I.first);
- Vertices.FindAndConstruct(I.second);
+ Vertices.try_emplace(I.first);
+ Vertices.try_emplace(I.second);
InNeighbors[I.second].insert(I.first);
OutNeighbors[I.first].insert(I.second);
- return P.second;
+ return Edges[I];
}
/// Looks up a vertex with Identifier I, or an error if it does not exist.
@@ -479,8 +476,8 @@ class Graph {
auto EI = Val.first;
const auto &p = Edges.insert(std::move(Val));
if (p.second) {
- Vertices.FindAndConstruct(EI.first);
- Vertices.FindAndConstruct(EI.second);
+ Vertices.try_emplace(EI.first);
+ Vertices.try_emplace(EI.second);
InNeighbors[EI.second].insert(EI.first);
OutNeighbors[EI.first].insert(EI.second);
};
More information about the llvm-commits
mailing list