summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/WinCOFFObjectWriter.cpp
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2017-02-14 23:47:34 +0000
committerRui Ueyama <ruiu@google.com>2017-02-14 23:47:34 +0000
commit0fcdb48c6e5e0ee05a66c8b9b9b57ca17d79bbf9 (patch)
treec9d26a94f9952d48ee20cc497ac405eef16167b2 /llvm/lib/MC/WinCOFFObjectWriter.cpp
parentb34d0ef2caa6beb1a1005e55f8855c8d8080f4c4 (diff)
downloadbcm5719-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.cpp11
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) {
OpenPOWER on IntegriCloud