message: [XLA] Fix breakage by conditional code motion
  Remove the assumption that users of conditionals are always getTupleElement.
  This assumption does not change how the algorithm works and removing the
  assumption should not break anything.
diff: @@ -720,7 +720,8 @@ class GroupConnectedBoundaries {
  if (op == conditional_->branch_computation(0)->root_instruction()) {
  int64 index = op->operand_index(user);
  for (auto op2 : conditional_->users()) {
  - CHECK(op2->opcode() == HloOpcode::kGetTupleElement);
  + // If the use is not get tuple, right now do not consider it.
  + if (op2->opcode() == HloOpcode::kGetTupleElement) {
  auto tuple_opd = static_cast<HloGetTupleElementInstruction*>(op2);
  if (index == tuple_opd->tuple_index()) {
  all_users = op2->users();
  @@ -730,6 +731,7 @@ class GroupConnectedBoundaries {
  }
  }
  }
  + }
  } else if (ContainsKey(visited_, op)) {
  reuses += ReusesCarriedBy(user, op);
  }
  