[llvm] 8a855d6 - [SPIRV] Avoid repeated hash lookups (NFC) (#130241)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 7 01:00:05 PST 2025
Author: Kazu Hirata
Date: 2025-03-07T01:00:01-08:00
New Revision: 8a855d63bae5467163f261ffcb8018698332eed5
URL: https://github.com/llvm/llvm-project/commit/8a855d63bae5467163f261ffcb8018698332eed5
DIFF: https://github.com/llvm/llvm-project/commit/8a855d63bae5467163f261ffcb8018698332eed5.diff
LOG: [SPIRV] Avoid repeated hash lookups (NFC) (#130241)
Added:
Modified:
llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
index 24f9912e40be5..cbec1c95eadc3 100644
--- a/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
+++ b/llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
@@ -1008,8 +1008,8 @@ SPIRVType *SPIRVGlobalRegistry::findSPIRVType(
Register Reg = DT.find(Ty, &MIRBuilder.getMF());
if (Reg.isValid())
return getSPIRVTypeForVReg(Reg);
- if (ForwardPointerTypes.contains(Ty))
- return ForwardPointerTypes[Ty];
+ if (auto It = ForwardPointerTypes.find(Ty); It != ForwardPointerTypes.end())
+ return It->second;
return restOfCreateSPIRVType(Ty, MIRBuilder, AccQual, EmitIR);
}
@@ -1103,14 +1103,15 @@ SPIRVType *SPIRVGlobalRegistry::createSPIRVType(
// Null pointer means we have a loop in type definitions, make and
// return corresponding OpTypeForwardPointer.
if (SpvElementType == nullptr) {
- if (!ForwardPointerTypes.contains(Ty))
- ForwardPointerTypes[Ty] = getOpTypeForwardPointer(SC, MIRBuilder);
- return ForwardPointerTypes[Ty];
+ auto [It, Inserted] = ForwardPointerTypes.try_emplace(Ty);
+ if (Inserted)
+ It->second = getOpTypeForwardPointer(SC, MIRBuilder);
+ return It->second;
}
// If we have forward pointer associated with this type, use its register
// operand to create OpTypePointer.
- if (ForwardPointerTypes.contains(Ty)) {
- Register Reg = getSPIRVTypeID(ForwardPointerTypes[Ty]);
+ if (auto It = ForwardPointerTypes.find(Ty); It != ForwardPointerTypes.end()) {
+ Register Reg = getSPIRVTypeID(It->second);
return getOpTypePointer(SC, SpvElementType, MIRBuilder, Reg);
}
More information about the llvm-commits
mailing list