message: Move Fifo insertion to after communication optimizations
  Summary:
  Depends on D30381.
  Ref T23743
  Test Plan: All tests pass.
  Reviewers: #tensorflow, hakons, vladimirm, #framework_ip_review_-_any_oss_or_third-party_code_use_has_been_approved
  Maniphest Tasks: T23743
diff: @@ -35,9 +35,12 @@ StatusOr<bool> PipelineFIFOInserter::InsertInPipeline(
  TF_ASSIGN_OR_RETURN(PipelineStages stages, GetPipelineStages(pipeline_comp));
  // Make sure that the root of each stage is a tuple.
  TF_RETURN_IF_ERROR(FixRootInstructions(stages));
  - TF_ASSIGN_OR_RETURN(auto analysis,
  - PipelineDataflowAnalysis::GetAnalysis(stages, true, true,
  - true, false, true));
  + TF_ASSIGN_OR_RETURN(
  + auto analysis,
  + PipelineDataflowAnalysis::GetAnalysis(
  + stages, /*allow_duplicate_gte_edges=*/true,
  + /*allow_communication_ops=*/true, /*allow_feeds=*/true,
  + /*allow_recomputation=*/false, /*allow_fifo_optimizations=*/true));
  const int64 last_stage_id = stages.forward.size() - 1;
  TF_ASSIGN_OR_RETURN(const int fifo_depth_multiplier,
  