message: Look through zero pads in convolution classifier
  Summary:
  Seen in resnet, where the bwd arg0 is zero padded and therefore
  we don't spot the connection.
  Fix linter warning
  Test Plan: all tests pass.
  Reviewers: #tensorflow, davidn
diff: @@ -14,6 +14,9 @@ limitations under the License.
  ==============================================================================*/
  #include "tensorflow/compiler/plugin/poplar/driver/passes/convolution_classifier.h"
  +
  +#include <set>
  +
  #include "tensorflow/compiler/plugin/poplar/driver/compiler_annotations.h"
  #include "tensorflow/compiler/plugin/poplar/driver/tools/conv_util.h"
  #include "tensorflow/compiler/plugin/poplar/driver/tools/custom_ops/fifo.h"
  @@ -125,7 +128,10 @@ HloInstruction* FindOperand(HloInstruction* inst,
  // We look through FIFO ops
  source = source->mutable_operand(0);
  } else if (IsInstructionType<HloIpuInterCopy>(source)) {
  - // We look through inter-ipu copy ops
  + // We look through inter-ipu copy ops.
  + source = source->mutable_operand(0);
  + } else if (IsPopOpsFusion(source, "zero_pad")) {
  + // We look through zero pads.
  source = source->mutable_operand(0);
  } else {
  done = true;
  @@ -222,11 +228,9 @@ StatusOr<bool> ConvolutionClassifier::Run(HloModule* module) {
  arg0_set.insert(it.first);
  }
  + for (auto it : arg0_set) {
  std::set<HloInstruction*> fwd;
  std::set<HloInstruction*> wu;
  -
  - for (auto it : arg0_set) {
  - if (arg0_fwd_map.count(it) > 1) {
  const auto& targets = arg0_fwd_map.equal_range(it);
  for (auto t = targets.first; t != targets.second; ++t) {
  @@ -247,7 +251,6 @@ StatusOr<bool> ConvolutionClassifier::Run(HloModule* module) {
  }
  }
  }
  - }
  for (auto& it : classifications) {
  if (it.second == MLType::INFERENCE_FWD) {
  @@ -266,6 +269,7 @@ StatusOr<bool> ConvolutionClassifier::Run(HloModule* module) {
  HloInstruction* mapped = annotations_.flattened_inst_map_bwd.at(it.first);
  TF_RETURN_IF_ERROR(SetInstructionMLType(mapped, it.second));
  }
  +
  if (VLOG_IS_ON(2)) {
  for (const auto& it : classifications) {
  VLOG(2) << it.first->name() << " : " << MLType_Name(it.second);
  