message: Clean up cross_device_ops: batch_all_reduce already works for IndexedSlices or in eager mode, no need to have the check.
diff: @@ -698,20 +698,10 @@ class AllReduceCrossDeviceOps(CrossDeviceOps):
  destinations)
  def batch_reduce_implementation(self, reduce_op, value_destination_pairs):
  - all_devices_match = _all_devices_match(value_destination_pairs)
  - contains_indexed_slices = cross_device_utils.contains_indexed_slices(
  - value_destination_pairs)
  - if (all_devices_match and not context.executing_eagerly()
  - and not contains_indexed_slices):
  + if _all_devices_match(value_destination_pairs):
  return self._batch_all_reduce(reduce_op,
  [v[0] for v in value_destination_pairs])
  else:
  - if not all_devices_match:
  - logging.log_first_n(logging.WARN,
  - "Efficient batch_reduce is not supported if "
  - "destinations are different.",
  - 10)
  -
  return [
  self.reduce_implementation(reduce_op, t, destinations=v)
  for t, v in value_destination_pairs
  