message: Skip control edges since they propagate neither shapes nor values.
diff: @@ -725,11 +725,14 @@ Status GraphProperties::PropagateShapes(
  while (!new_shapes->empty() &&
  num_loop_iterations++ < max_loop_iterations) {
  const Node* n = new_shapes->pop();
  - for (const Node* fanout : n->out_nodes()) {
  + for (const Edge* e : n->out_edges()) {
  + if (!e->IsControlEdge()) {
  + const Node* fanout = e->dst();
  TF_RETURN_IF_ERROR(
  UpdateShapes(shape_refiner, relax, fanout, new_shapes));
  }
  }
  + }
  for (const auto& resource : resources) {
  // Resources need special handling: since the enqueue nodes are in the
  @@ -913,6 +916,9 @@ Status GraphProperties::InferStatically() {
  &input_properties[i]);
  }
  for (const auto& edge : node->in_edges()) {
  + if (edge->IsControlEdge()) {
  + continue;
  + }
  if (!edge->src()->IsConstant()) {
  continue;
  }
  