[clang] [Tablegen] Avoid repeated hash lookps (NFC) (PR #107961)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Sep 9 20:45:22 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/107961.diff
1 Files Affected:
- (modified) clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp (+3-15)
``````````diff
diff --git a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
index 968b3e0661a8f3..74c3a856ab6937 100644
--- a/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
+++ b/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
@@ -510,10 +510,7 @@ void BuiltinNameEmitter::GetOverloads() {
std::vector<Record *> Builtins = Records.getAllDerivedDefinitions("Builtin");
for (const auto *B : Builtins) {
StringRef BName = B->getValueAsString("Name");
- if (!FctOverloadMap.contains(BName)) {
- FctOverloadMap.insert(std::make_pair(
- BName, std::vector<std::pair<const Record *, unsigned>>{}));
- }
+ FctOverloadMap.try_emplace(BName);
auto Signature = B->getValueAsListOfDefs("Signature");
// Reuse signatures to avoid unnecessary duplicates.
@@ -812,17 +809,8 @@ static void OCL2Qual(Sema &S, const OpenCLTypeStruct &Ty,
// Map an image type name to its 3 access-qualified types (RO, WO, RW).
StringMap<SmallVector<Record *, 3>> ImageTypesMap;
- for (auto *IT : ImageTypes) {
- auto Entry = ImageTypesMap.find(IT->getValueAsString("Name"));
- if (Entry == ImageTypesMap.end()) {
- SmallVector<Record *, 3> ImageList;
- ImageList.push_back(IT);
- ImageTypesMap.insert(
- std::make_pair(IT->getValueAsString("Name"), ImageList));
- } else {
- Entry->second.push_back(IT);
- }
- }
+ for (auto *IT : ImageTypes)
+ ImageTypesMap[IT->getValueAsString("Name")].push_back(IT);
// Emit the cases for the image types. For an image type name, there are 3
// corresponding QualTypes ("RO", "WO", "RW"). The "AccessQualifier" field
``````````
</details>
https://github.com/llvm/llvm-project/pull/107961
More information about the cfe-commits
mailing list