Lines Matching refs:phi

475   PhiNode             *phi;
512 // them to a single Def at the phi. The pointer is updated for each
557 // Check for need to insert a new phi
559 // info for each spilled LRG. If they are identical, no phi is
560 // needed. If they differ, check for a phi, and insert if missing,
562 // be either the phi's or the reaching def, as appropriate.
611 // For each LRG, decide if a phi is necessary
615 // See if the phi has mismatched inputs, UP vs. DOWN
632 // bail if this is not a phi
633 phi = n1->is_Phi() ? n1->as_Phi() : NULL;
634 if( phi == NULL ) {
637 // break out of the for loop as we have handled all phi nodes
640 // must be looking at a phi
642 // found the necessary phi
646 Reachblock[slidx] = phi;
648 } // end if found correct phi
649 } // end for all phi's
651 // If a phi is needed or exist, check for it
655 // create a new phi node and insert it into the block
658 phi = new (C) PhiNode(b->head(), n3->bottom_type());
660 Reachblock[slidx] = phi;
663 insert_proj( b, insidx++, phi, maxlrg++ );
665 // Reset new phi's mapping to be the spilling live range
666 _names.map(phi->_idx, lidx);
667 assert(Find_id(phi) == lidx,"Bad update on Union-Find mapping");
668 } // end if not found correct phi
670 assert(phi != NULL,"Must have a Phi Node here");
671 phis->push(phi);
683 } // end if phi is needed
685 // Do not need a phi, so grab the reaching DEF
715 // Since phi-nodes have now been handled, the Reachblock array for this
717 // reach non-phi instructions in this block. Thus, process non-phi
729 // For all non-phi instructions in the block
737 // Skip phi nodes after removing dead copies.
1263 // Clean up a phi here, and assign a new live range number
1269 Node *phi = phis->at(insidx);
1270 assert(phi->is_Phi(),"This list must only contain Phi Nodes");
1271 Block *b = _cfg._bbs[phi->_idx];
1273 uint lidx = Find_id(phi);
1276 new_lrg(phi, maxlrg++);
1303 // phi node splitting. end_idx points at the insertion point
1315 phi->set_req(i,def);
1319 maxlrg = split_USE(def, b, phi, i, maxlrg, !u1, false, splits,slidx);
1334 Node *phi = phis->at(insidx);
1335 assert(phi->is_Phi(),"This list must only contain Phi Nodes");
1337 for( uint i = 1; i < phi->req(); i++ ) {
1339 Node *n = phi->in(i);
1342 uint pidx = Find(phi);
1344 Union(n, phi);
1346 Union(phi, n);