message: Add auto generated TensorFlow CrossReplicaSum op
  Manually update op_extra_info to only check the first input and output types as that is what UnchangedShape unlike SameOperandsAndResultsType that requires all types to match.
  Also contains auto generated documentation changes to the UniqueOp.
diff: @@ -956,6 +956,30 @@ Given an input tensor, this function computes cosine of every
  TF_DerivedOperandTypeAttr T = TF_DerivedOperandTypeAttr<0>;
  }
  +def TF_CrossReplicaSumOp : TF_Op<"CrossReplicaSum", [AllTypesMatch<["input", "output"]>, NoSideEffect]> {
  + let summary = "An Op to sum inputs across replicated TPU instances.";
  +
  + let description = [{
  +Each instance supplies its own input.
  +
  +For example, suppose there are 8 TPU instances: `[A, B, C, D, E, F, G, H]`.
  +Passing group_assignment=`[[0,2,4,6],[1,3,5,7]]` sets `A, C, E, G` as group 0,
  +and `B, D, F, H` as group 1. Thus we get the outputs:
  +`[A+C+E+G, B+D+F+H, A+C+E+G, B+D+F+H, A+C+E+G, B+D+F+H, A+C+E+G, B+D+F+H]`.
  + }];
  +
  + let arguments = (ins
  + TensorOf<[BF16, F32, I32, TF_Uint32]>:$input,
  + I32Tensor:$group_assignment
  + );
  +
  + let results = (outs
  + TensorOf<[BF16, F32, I32, TF_Uint32]>:$output
  + );
  +
  + TF_DerivedOperandTypeAttr T = TF_DerivedOperandTypeAttr<0>;
  +}
  +
  def TF_DepthToSpaceOp : TF_Op<"DepthToSpace", [NoSideEffect]> {
  let summary = "DepthToSpace for tensors of type T.";
  