Lines Matching refs:phi
663 void ReferenceTypePropagation::VisitPhi(HPhi* phi) {
664 if (phi->IsDead() || phi->GetType() != Primitive::kPrimNot) {
668 if (phi->GetBlock()->IsLoopHeader()) {
669 // Set the initial type for the phi. Use the non back edge input for reaching
671 HInstruction* first_input = phi->InputAt(0);
674 phi->SetCanBeNull(first_input->CanBeNull());
675 phi->SetReferenceTypeInfo(first_input_rti);
677 AddToWorklist(phi);
679 // Eagerly compute the type of the phi, for quicker convergence. Note
681 // doing a reverse post-order visit, therefore either the phi users are
682 // non-loop phi and will be visited later in the visit, or are loop-phis,
684 UpdateNullability(phi);
685 UpdateReferenceTypeInfo(phi);
822 // If all the inputs are NullConstants then the type of the phi will be set to Object.
880 HPhi* phi = instr->AsPhi();
882 for (size_t i = 0; i < phi->InputCount(); i++) {
883 if (phi->InputAt(i)->CanBeNull()) {
888 phi->SetCanBeNull(new_can_be_null);