From eab3d367538030e2fd4feb0c94795e1bdb566451 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Thu, 21 Jul 2016 13:37:48 +0000 Subject: [PATCH] Rename StringMap::emplace_second to try_emplace. Coincidentally this function maps to the C++17 try_emplace. Rename it for consistentcy with C++17 std::map. NFC. llvm-svn: 276276 --- llvm/include/llvm/ADT/StringMap.h | 8 +++----- llvm/lib/IR/Metadata.cpp | 2 +- llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp | 2 +- llvm/unittests/ADT/StringMapTest.cpp | 2 +- llvm/unittests/ProfileData/CoverageMappingTest.cpp | 2 +- 5 files changed, 7 insertions(+), 9 deletions(-) diff --git a/llvm/include/llvm/ADT/StringMap.h b/llvm/include/llvm/ADT/StringMap.h index 2602752..5c048b1 100644 --- a/llvm/include/llvm/ADT/StringMap.h +++ b/llvm/include/llvm/ADT/StringMap.h @@ -329,9 +329,7 @@ public: /// Lookup the ValueTy for the \p Key, or create a default constructed value /// if the key is not in the map. - ValueTy &operator[](StringRef Key) { - return emplace_second(Key).first->second; - } + ValueTy &operator[](StringRef Key) { return try_emplace(Key).first->second; } /// count - Return 1 if the element is in the map, 0 otherwise. size_type count(StringRef Key) const { @@ -362,7 +360,7 @@ public: /// if and only if the insertion takes place, and the iterator component of /// the pair points to the element with key equivalent to the key of the pair. std::pair insert(std::pair KV) { - return emplace_second(KV.first, std::move(KV.second)); + return try_emplace(KV.first, std::move(KV.second)); } /// Emplace a new element for the specified key into the map if the key isn't @@ -370,7 +368,7 @@ public: /// if and only if the insertion takes place, and the iterator component of /// the pair points to the element with key equivalent to the key of the pair. template - std::pair emplace_second(StringRef Key, ArgsTy &&... Args) { + std::pair try_emplace(StringRef Key, ArgsTy &&... Args) { unsigned BucketNo = LookupBucketFor(Key); StringMapEntryBase *&Bucket = TheTable[BucketNo]; if (Bucket && Bucket != getTombstoneVal()) diff --git a/llvm/lib/IR/Metadata.cpp b/llvm/lib/IR/Metadata.cpp index 5201c2e..8b8e4dc 100644 --- a/llvm/lib/IR/Metadata.cpp +++ b/llvm/lib/IR/Metadata.cpp @@ -416,7 +416,7 @@ void ValueAsMetadata::handleRAUW(Value *From, Value *To) { MDString *MDString::get(LLVMContext &Context, StringRef Str) { auto &Store = Context.pImpl->MDStringCache; - auto I = Store.emplace_second(Str); + auto I = Store.try_emplace(Str); auto &MapEntry = I.first->getValue(); if (!I.second) return &MapEntry; diff --git a/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp index 32beab7..37f3cee 100644 --- a/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp +++ b/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp @@ -251,7 +251,7 @@ namespace { class GCOVBlock : public GCOVRecord { public: GCOVLines &getFile(StringRef Filename) { - return LinesByFile.emplace_second(Filename, Filename, os).first->second; + return LinesByFile.try_emplace(Filename, Filename, os).first->second; } void addEdge(GCOVBlock &Successor) { diff --git a/llvm/unittests/ADT/StringMapTest.cpp b/llvm/unittests/ADT/StringMapTest.cpp index 6ca701b..911c72d 100644 --- a/llvm/unittests/ADT/StringMapTest.cpp +++ b/llvm/unittests/ADT/StringMapTest.cpp @@ -458,7 +458,7 @@ struct NonMoveableNonCopyableType { // Test that we can "emplace" an element in the map without involving map/move TEST(StringMapCustomTest, EmplaceTest) { StringMap Map; - Map.emplace_second("abcd", 42); + Map.try_emplace("abcd", 42); EXPECT_EQ(1u, Map.count("abcd")); EXPECT_EQ(42, Map["abcd"].Data); } diff --git a/llvm/unittests/ProfileData/CoverageMappingTest.cpp b/llvm/unittests/ProfileData/CoverageMappingTest.cpp index 53b40eb..47809b1 100644 --- a/llvm/unittests/ProfileData/CoverageMappingTest.cpp +++ b/llvm/unittests/ProfileData/CoverageMappingTest.cpp @@ -116,7 +116,7 @@ struct CoverageMappingTest : ::testing::Test { if (R != Files.end()) return R->second; unsigned Index = Files.size(); - Files.emplace_second(Name, Index); + Files.try_emplace(Name, Index); return Index; } -- 2.7.4