message: [xla] Improve validation of Broadcast shape
  If one misreads the semantics of this instruction, it's easy to cause
  an out of bounds access into the dimensions here. Add an extra check
  to return a proper error to the user rather than crashing in that
  case.
  Ref
diff: @@ -313,8 +313,9 @@ Status ShapeVerifier::HandleBroadcast(HloInstruction* broadcast) {
  operand_dimension < ShapeUtil::Rank(operand_shape);
  ++operand_dimension) {
  int64 output_dimension = broadcast->dimensions()[operand_dimension];
  - TF_RET_CHECK(broadcast->shape().dimensions(output_dimension) ==
  - operand_shape.dimensions(operand_dimension))
  + TF_RET_CHECK((output_dimension < ShapeUtil::Rank(broadcast->shape())) &&
  + (broadcast->shape().dimensions(output_dimension) ==
  + operand_shape.dimensions(operand_dimension)))
  << broadcast->ToString() << " operand shape " << operand_shape;
  }
  return Status::OK();
  