[llvm] [TableGen] Avoid repeated hash lookups (NFC) (PR #123018)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 14 22:12:48 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-tablegen
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/123018.diff
2 Files Affected:
- (modified) llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp (+2-2)
- (modified) llvm/utils/TableGen/GlobalISelEmitter.cpp (+2-2)
``````````diff
diff --git a/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp b/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
index 149ba7a1d9032d..bc300c3461100e 100644
--- a/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
+++ b/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
@@ -2645,8 +2645,8 @@ GICombinerEmitter::buildMatchTable(MutableArrayRef<RuleMatcher> Rules) {
for (RuleMatcher &Rule : Rules) {
const StringRef Opcode = Rule.getOpcode();
assert(!Opcode.empty() && "Didn't expect an undefined opcode");
- if (OpcodeOrder.count(Opcode) == 0)
- OpcodeOrder[Opcode] = CurrentOrdering++;
+ if (OpcodeOrder.try_emplace(Opcode, CurrentOrdering).second)
+ ++CurrentOrdering;
}
llvm::stable_sort(InputRules, [&OpcodeOrder](const Matcher *A,
diff --git a/llvm/utils/TableGen/GlobalISelEmitter.cpp b/llvm/utils/TableGen/GlobalISelEmitter.cpp
index 3b334ea4ce152c..04ebdbb0ffc90b 100644
--- a/llvm/utils/TableGen/GlobalISelEmitter.cpp
+++ b/llvm/utils/TableGen/GlobalISelEmitter.cpp
@@ -2216,8 +2216,8 @@ GlobalISelEmitter::buildMatchTable(MutableArrayRef<RuleMatcher> Rules,
for (RuleMatcher &Rule : Rules) {
const StringRef Opcode = Rule.getOpcode();
assert(!Opcode.empty() && "Didn't expect an undefined opcode");
- if (OpcodeOrder.count(Opcode) == 0)
- OpcodeOrder[Opcode] = CurrentOrdering++;
+ if (OpcodeOrder.try_emplace(Opcode, CurrentOrdering).second)
+ ++CurrentOrdering;
}
llvm::stable_sort(
``````````
</details>
https://github.com/llvm/llvm-project/pull/123018
More information about the llvm-commits
mailing list