Rename StringMap::emplace_second to try_emplace.
authorBenjamin Kramer <benny.kra@googlemail.com>
Thu, 21 Jul 2016 13:37:48 +0000 (13:37 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Thu, 21 Jul 2016 13:37:48 +0000 (13:37 +0000)
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
llvm/lib/IR/Metadata.cpp
llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
llvm/unittests/ADT/StringMapTest.cpp
llvm/unittests/ProfileData/CoverageMappingTest.cpp

index 2602752..5c048b1 100644 (file)
@@ -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<iterator, bool> insert(std::pair<StringRef, ValueTy> 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 <typename... ArgsTy>
-  std::pair<iterator, bool> emplace_second(StringRef Key, ArgsTy &&... Args) {
+  std::pair<iterator, bool> try_emplace(StringRef Key, ArgsTy &&... Args) {
     unsigned BucketNo = LookupBucketFor(Key);
     StringMapEntryBase *&Bucket = TheTable[BucketNo];
     if (Bucket && Bucket != getTombstoneVal())
index 5201c2e..8b8e4dc 100644 (file)
@@ -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;
index 32beab7..37f3cee 100644 (file)
@@ -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) {
index 6ca701b..911c72d 100644 (file)
@@ -458,7 +458,7 @@ struct NonMoveableNonCopyableType {
 // Test that we can "emplace" an element in the map without involving map/move
 TEST(StringMapCustomTest, EmplaceTest) {
   StringMap<NonMoveableNonCopyableType> Map;
-  Map.emplace_second("abcd", 42);
+  Map.try_emplace("abcd", 42);
   EXPECT_EQ(1u, Map.count("abcd"));
   EXPECT_EQ(42, Map["abcd"].Data);
 }
index 53b40eb..47809b1 100644 (file)
@@ -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;
   }