[llvm] 8bf13af - [ExecutionEngine] Avoid repeated hash lookups (NFC) (#130239)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Mar 7 00:59:53 PST 2025
Author: Kazu Hirata
Date: 2025-03-07T00:59:50-08:00
New Revision: 8bf13afd4a97ba2eefca0a7f44edea97ffee97fc
URL: https://github.com/llvm/llvm-project/commit/8bf13afd4a97ba2eefca0a7f44edea97ffee97fc
DIFF: https://github.com/llvm/llvm-project/commit/8bf13afd4a97ba2eefca0a7f44edea97ffee97fc.diff
LOG: [ExecutionEngine] Avoid repeated hash lookups (NFC) (#130239)
Added:
Modified:
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
Removed:
################################################################################
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h b/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
index f54ed0eae0076..3ca6309874de5 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFAArch64.h
@@ -121,13 +121,13 @@ class RuntimeDyldCOFFAArch64 : public RuntimeDyldCOFF {
OriginalRelValueRef.Addend = Addend;
OriginalRelValueRef.SymbolName = TargetName.data();
- auto Stub = Stubs.find(OriginalRelValueRef);
- if (Stub == Stubs.end()) {
+ auto [Stub, Inserted] = Stubs.try_emplace(OriginalRelValueRef);
+ if (Inserted) {
LLVM_DEBUG(dbgs() << " Create a new stub function for "
<< TargetName.data() << "\n");
StubOffset = Section.getStubOffset();
- Stubs[OriginalRelValueRef] = StubOffset;
+ Stub->second = StubOffset;
createStubFunction(Section.getAddressWithOffset(StubOffset));
Section.advanceStubOffset(getMaxStubSize());
} else {
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h b/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
index 984a8d765c845..2a45535f68fa0 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h
@@ -160,13 +160,13 @@ class RuntimeDyldCOFFX86_64 : public RuntimeDyldCOFF {
OriginalRelValueRef.Addend = Addend;
OriginalRelValueRef.SymbolName = TargetName.data();
- auto Stub = Stubs.find(OriginalRelValueRef);
- if (Stub == Stubs.end()) {
+ auto [Stub, Inserted] = Stubs.try_emplace(OriginalRelValueRef);
+ if (Inserted) {
LLVM_DEBUG(dbgs() << " Create a new stub function for "
<< TargetName.data() << "\n");
StubOffset = Section.getStubOffset();
- Stubs[OriginalRelValueRef] = StubOffset;
+ Stub->second = StubOffset;
createStubFunction(Section.getAddressWithOffset(StubOffset));
Section.advanceStubOffset(getMaxStubSize());
} else {
More information about the llvm-commits
mailing list