From 0fcdb48c6e5e0ee05a66c8b9b9b57ca17d79bbf9 Mon Sep 17 00:00:00 2001 From: Rui Ueyama Date: Tue, 14 Feb 2017 23:47:34 +0000 Subject: Do not lookup a DenseMap twice using the same key. llvm-svn: 295124 --- llvm/lib/MC/WinCOFFObjectWriter.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'llvm/lib/MC/WinCOFFObjectWriter.cpp') diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp index 7f626462e6e..23af66c4bb1 100644 --- a/llvm/lib/MC/WinCOFFObjectWriter.cpp +++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp @@ -230,13 +230,10 @@ COFFSymbol *WinCOFFObjectWriter::createSymbol(StringRef Name) { } COFFSymbol *WinCOFFObjectWriter::GetOrCreateCOFFSymbol(const MCSymbol *Symbol) { - symbol_map::iterator i = SymbolMap.find(Symbol); - if (i != SymbolMap.end()) - return i->second; - COFFSymbol *RetSymbol = - createCOFFEntity(Symbol->getName(), Symbols); - SymbolMap[Symbol] = RetSymbol; - return RetSymbol; + COFFSymbol *&Ret = SymbolMap[Symbol]; + if (!Ret) + Ret = createCOFFEntity(Symbol->getName(), Symbols); + return Ret; } COFFSection *WinCOFFObjectWriter::createSection(StringRef Name) { -- cgit v1.2.3