diff --git a/include/Support/DenseMap.h b/include/Support/DenseMap.h
index 2cf5990617a..4f6dc91bb63 100644
--- a/include/Support/DenseMap.h
+++ b/include/Support/DenseMap.h
@@ -62,6 +62,10 @@ namespace llvm {
       if (NewSize > storage_.size())
         storage_.resize(NewSize, nullVal_);
     }
+
+    typename StorageT::size_type size() const {
+      return storage_.size();
+    }
   };
 
 } // End llvm namespace
diff --git a/include/llvm/ADT/DenseMap.h b/include/llvm/ADT/DenseMap.h
index 2cf5990617a..4f6dc91bb63 100644
--- a/include/llvm/ADT/DenseMap.h
+++ b/include/llvm/ADT/DenseMap.h
@@ -62,6 +62,10 @@ namespace llvm {
       if (NewSize > storage_.size())
         storage_.resize(NewSize, nullVal_);
     }
+
+    typename StorageT::size_type size() const {
+      return storage_.size();
+    }
   };
 
 } // End llvm namespace
diff --git a/include/llvm/ADT/IndexedMap.h b/include/llvm/ADT/IndexedMap.h
index 2cf5990617a..4f6dc91bb63 100644
--- a/include/llvm/ADT/IndexedMap.h
+++ b/include/llvm/ADT/IndexedMap.h
@@ -62,6 +62,10 @@ namespace llvm {
       if (NewSize > storage_.size())
         storage_.resize(NewSize, nullVal_);
     }
+
+    typename StorageT::size_type size() const {
+      return storage_.size();
+    }
   };
 
 } // End llvm namespace