message: More aggressive cast elimination
  Summary:
  If the optimisations in the pipeline loop introduce more
  casts we currently don't catch them.
  Test Plan: all tests pass
  Reviewers: #tensorflow, davidn
diff: @@ -542,7 +542,6 @@ StatusOr<std::unique_ptr<Executable>> PoplarCompiler::RunBackend(
  // pass.AddPass<ConditionalSimplifier>();
  pipeline.AddPass<F16ConstantFolding>();
  pipeline.AddPass<HloConstantFolding>();
  - pipeline.AddPass<HloPassFix<CastsElimination>>(resources.annotations);
  pipeline.AddPass<HloCSE>(true);
  pipeline.AddPass<WideConstFinder>();
  pipeline.AddPass<CommutativeInstructionReorderOperands>();
  @@ -550,6 +549,7 @@ StatusOr<std::unique_ptr<Executable>> PoplarCompiler::RunBackend(
  {
  auto& pass =
  pipeline.AddPass<HloPassFix<HloPassPipeline>>("repeated-fusing");
  + pass.AddPass<CastsElimination>(resources.annotations);
  pass.AddPass<HloCSE>(true);
  pass.AddPass<HloDCE>();
  pass.AddPass<WhileLoopConstantSinking>();
  