[xla::Shape::Shape] Emplace tuple shapes into `tuple_shapes_`.

This avoids creating and destroying a temporary `Shape` in `add_tuple_shapes()`, then move-assigning and destroying each tuple-shape in the constructor.

PiperOrigin-RevId: 298703231
Change-Id: I793742c163cf24780b0764aa6c3846715517f99d
diff --git a/tensorflow/compiler/xla/shape.cc b/tensorflow/compiler/xla/shape.cc
index de24343..d1d5dc1 100644
--- a/tensorflow/compiler/xla/shape.cc
+++ b/tensorflow/compiler/xla/shape.cc
@@ -48,7 +48,7 @@
   }
   tuple_shapes_.reserve(shape_proto.tuple_shapes_size());
   for (const ShapeProto& element_shape : shape_proto.tuple_shapes()) {
-    *add_tuple_shapes() = Shape(element_shape);
+    tuple_shapes_.emplace_back(element_shape);
   }
   if (shape_proto.has_layout()) {
     *mutable_layout() = Layout::CreateFromProto(shape_proto.layout());