Lines Matching defs:phi
2292 // created phi or an existing phi. Sets create_new to indicate whether a new
2293 // phi was created. Cache the last newly created phi in the node map.
2314 Node* phi = region->fast_out(i);
2315 if (phi->is_Phi() &&
2316 C->get_alias_index(phi->as_Phi()->adr_type()) == alias_idx) {
2317 assert(phi->_idx >= nodes_size(), "only new Phi per instance memory slice");
2318 return phi->as_Phi();
2357 PhiNode *phi = orig_phi;
2361 while (idx < phi->req()) {
2362 Node *mem = find_inst_mem(phi->in(idx), alias_idx, orig_phi_worklist);
2366 // found an phi for which we created a new split, push current one on worklist and begin
2368 phi_list.push(phi);
2370 phi = mem->as_Phi();
2385 assert( phi->req() == result->req(), "must have same number of inputs.");
2386 assert( result->in(0) != NULL && result->in(0) == phi->in(0), "regions must match");
2388 // Check if all new phi's inputs have specified alias index.
2389 // Otherwise use old phi.
2390 for (uint i = 1; i < phi->req(); i++) {
2392 assert((phi->in(i) == NULL) == (in == NULL), "inputs must correspond.");
2397 phi = phi_list.pop();
2399 PhiNode *prev_result = get_map_phi(phi->_idx);
2596 assert(mphi->bottom_type() == Type::MEMORY, "memory phi required");
2680 // And a new version of the phi is created. In phase 4, the inputs to
3106 PhiNode *phi = orig_phis.at(j);
3107 int alias_idx = _compile->get_alias_index(phi->adr_type());
3108 igvn->hash_delete(phi);
3109 for (uint i = 1; i < phi->req(); i++) {
3110 Node *mem = phi->in(i);
3116 phi->set_req(i, new_mem);
3119 igvn->hash_insert(phi);
3120 record_for_optimizer(phi);