From 9bf27456e2dd44a94adb58806d5a52811924126a Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Sat, 22 Feb 2025 02:30:04 -0800 Subject: [PATCH] [SPIRV] Avoid repeated hash lookups (NFC) --- llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h index c7f846b8e9bcc..2b3599259a739 100644 --- a/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h +++ b/llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h @@ -197,12 +197,10 @@ struct ModuleAnalysisInfo { // Convert MBB's number to corresponding ID register. Register getOrCreateMBBRegister(const MachineBasicBlock &MBB) { auto Key = std::make_pair(MBB.getParent(), MBB.getNumber()); - auto It = BBNumToRegMap.find(Key); - if (It != BBNumToRegMap.end()) - return It->second; - Register NewReg = Register::index2VirtReg(getNextID()); - BBNumToRegMap[Key] = NewReg; - return NewReg; + auto [It, Inserted] = BBNumToRegMap.try_emplace(Key); + if (Inserted) + It->second = Register::index2VirtReg(getNextID()); + return It->second; } }; } // namespace SPIRV