diff options
author | Rui Ueyama <ruiu@google.com> | 2017-02-14 23:47:34 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2017-02-14 23:47:34 +0000 |
commit | 0fcdb48c6e5e0ee05a66c8b9b9b57ca17d79bbf9 (patch) | |
tree | c9d26a94f9952d48ee20cc497ac405eef16167b2 /llvm/lib/MC/WinCOFFObjectWriter.cpp | |
parent | b34d0ef2caa6beb1a1005e55f8855c8d8080f4c4 (diff) | |
download | bcm5719-llvm-0fcdb48c6e5e0ee05a66c8b9b9b57ca17d79bbf9.tar.gz bcm5719-llvm-0fcdb48c6e5e0ee05a66c8b9b9b57ca17d79bbf9.zip |
Do not lookup a DenseMap twice using the same key.
llvm-svn: 295124
Diffstat (limited to 'llvm/lib/MC/WinCOFFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/WinCOFFObjectWriter.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
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<COFFSymbol>(Symbol->getName(), Symbols); - SymbolMap[Symbol] = RetSymbol; - return RetSymbol; + COFFSymbol *&Ret = SymbolMap[Symbol]; + if (!Ret) + Ret = createCOFFEntity<COFFSymbol>(Symbol->getName(), Symbols); + return Ret; } COFFSection *WinCOFFObjectWriter::createSection(StringRef Name) { |