Start adding benchmarks for vector

llvm-svn: 276552
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 0e100998fcd25917f3e517d832e1a2c3790a6367
diff --git a/benchmarks/ContainerBenchmarks.hpp b/benchmarks/ContainerBenchmarks.hpp
index 8321caf..6350e6b 100644
--- a/benchmarks/ContainerBenchmarks.hpp
+++ b/benchmarks/ContainerBenchmarks.hpp
@@ -7,6 +7,18 @@
 
 namespace ContainerBenchmarks {
 
+
+template <class Container, class GenInputs>
+void BM_ConstructIterIter(benchmark::State& st, Container, GenInputs gen) {
+    auto in = gen(st.range_x());
+    const auto end = in.end();
+    benchmark::DoNotOptimize(&in);
+    while (st.KeepRunning()) {
+        Container c(in.begin(), in.end());
+        benchmark::DoNotOptimize(c.data());
+    }
+}
+
 template <class Container, class GenInputs>
 void BM_InsertValue(benchmark::State& st, Container c, GenInputs gen) {
     auto in = gen(st.range_x());
@@ -93,7 +105,6 @@
         }
         benchmark::ClobberMemory();
     }
-
 }
 
 } // end namespace ContainerBenchmarks