message: Ensure that the padding value is the result of a zero element reduction
diff: @@ -205,9 +205,8 @@ CreateSimpleReduction(poplar::Graph &graph,
  poplar::Tensor out;
  if (ShapeUtil::HasZeroElements(inst->operand(0)->shape())) {
  - auto zero = Literal::Zero(inst->shape().element_type());
  - TF_ASSIGN_OR_RETURN(out,
  - AddConstantTensor(graph, inst->shape(), zero, res));
  + TF_ASSIGN_OR_RETURN(out, FindInstructionInput(tensor_map, inst, 1));
  + TF_ASSIGN_OR_RETURN(out, BroadcastTensor(out, inst->shape(), {}));
  TF_RETURN_IF_ERROR(AddOutputTensor(tensor_map, inst, 0, out));
  } else {
  // Find the input tensors
  @@ -308,9 +307,8 @@ CreateSimpleWindowReduction(poplar::Graph &graph,
  poplar::Tensor out;
  if (ShapeUtil::HasZeroElements(inst->operand(0)->shape())) {
  - auto zero = Literal::Zero(inst->shape().element_type());
  - TF_ASSIGN_OR_RETURN(out,
  - AddConstantTensor(graph, inst->shape(), zero, res));
  + TF_ASSIGN_OR_RETURN(out, FindInstructionInput(tensor_map, inst, 1));
  + TF_ASSIGN_OR_RETURN(out, BroadcastTensor(out, inst->shape(), {}));
  TF_RETURN_IF_ERROR(AddOutputTensor(tensor_map, inst, 0, out));
  } else {
  // Find the input tensors
  @@ -417,9 +415,8 @@ CreatePoplibsWindowReduction(poplar::Graph &graph,
  poplar::Tensor out;
  if (ShapeUtil::HasZeroElements(inst->operand(0)->shape())) {
  - auto zero = Literal::Zero(inst->shape().element_type());
  - TF_ASSIGN_OR_RETURN(out,
  - AddConstantTensor(graph, inst->shape(), zero, res));
  + TF_ASSIGN_OR_RETURN(out, FindInstructionInput(tensor_map, inst, 1));
  + TF_ASSIGN_OR_RETURN(out, BroadcastTensor(out, inst->shape(), {}));
  TF_RETURN_IF_ERROR(AddOutputTensor(tensor_map, inst, 0, out));
  } else {
  const HloInstruction* pooling_inst;
  