diff options
author | Kazu Hirata <kazu@google.com> | 2024-10-01 00:30:04 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-01 00:30:04 -0700 |
commit | 0089f39e0fb39b3f1824c10dfe511b6c07711a50 (patch) | |
tree | 991dbc18954a5bf7789b61f3704fe609b018d119 /llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | |
parent | ec61311e77b39fc7f9b45ffdb8a29b2d96f67265 (diff) | |
download | llvm-0089f39e0fb39b3f1824c10dfe511b6c07711a50.zip llvm-0089f39e0fb39b3f1824c10dfe511b6c07711a50.tar.gz llvm-0089f39e0fb39b3f1824c10dfe511b6c07711a50.tar.bz2 |
[ProfileData] Avoid repeated hash lookups (NFC) (#110619)
Diffstat (limited to 'llvm/lib/ProfileData/Coverage/CoverageMapping.cpp')
-rw-r--r-- | llvm/lib/ProfileData/Coverage/CoverageMapping.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp index 18643c6..c713371 100644 --- a/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp +++ b/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp @@ -49,13 +49,10 @@ using namespace coverage; #define DEBUG_TYPE "coverage-mapping" Counter CounterExpressionBuilder::get(const CounterExpression &E) { - auto It = ExpressionIndices.find(E); - if (It != ExpressionIndices.end()) - return Counter::getExpression(It->second); - unsigned I = Expressions.size(); - Expressions.push_back(E); - ExpressionIndices[E] = I; - return Counter::getExpression(I); + auto [It, Inserted] = ExpressionIndices.try_emplace(E, Expressions.size()); + if (Inserted) + Expressions.push_back(E); + return Counter::getExpression(It->second); } void CounterExpressionBuilder::extractTerms(Counter C, int Factor, |