message: [XLA] Fix an assertion in HloDataflowAnalysis::Phi.
  Previously, we assert that all inputs of a Phi node have compatible shapes.
  However, we can guarantee this only when bitcast_defines_value_ is true.
diff: @@ -189,8 +189,20 @@ bool HloDataflowAnalysis::Phi(
  for (const InstructionValueSet* input : inputs) {
  VLOG(5) << "input value set = " << input->ToString();
  }
  - for (const InstructionValueSet* input : inputs) {
  +
  + if (bitcast_defines_value_) {
  + absl::c_for_each(inputs, [&](const InstructionValueSet* input) {
  DCHECK(ShapeUtil::Compatible(instruction->shape(), input->shape()));
  + });
  + } else {
  + const Shape& shape = instruction->shape();
  + PrimitiveType ty = shape.element_type();
  + bool is_array = shape.IsArray();
  + absl::c_for_each(inputs, [&](const InstructionValueSet* input) {
  + DCHECK(ty == input->shape().element_type() &&
  + (!is_array || ShapeUtil::ElementsIn(shape) ==
  + ShapeUtil::ElementsIn(input->shape())));
  + });
  }
  bool changed = false;
  