/openjdk7/hotspot/src/share/vm/shark/ |
H A D | sharkIntrinsics.cpp | 174 PHINode *phi = builder()->CreatePHI(a->getType(), "result"); local 175 phi->addIncoming(a, return_a); 176 phi->addIncoming(b, return_b); 181 phi,
|
H A D | sharkNativeWrapper.cpp | 125 PHINode *phi; local 152 phi = builder()->CreatePHI(box_type, "boxed_object"); 153 phi->addIncoming(ConstantPointerNull::get(box_type), null); 154 phi->addIncoming(box, not_null); 155 box = phi; 308 PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "result"); local 309 phi->addIncoming(LLVMValue::null(), null); 310 phi->addIncoming(unboxed_result, not_null); 311 result = phi;
|
H A D | sharkState.cpp | 134 PHINode *phi = builder()->CreatePHI(SharkType::methodOop_type(), "method"); local 135 phi->addIncoming(this_method, this_block); 136 phi->addIncoming(other_method, other_block); 137 set_method(phi); 145 PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "oop_tmp"); local 146 phi->addIncoming(this_oop_tmp, this_block); 147 phi->addIncoming(other_oop_tmp, other_block); 148 set_oop_tmp(phi);
|
H A D | sharkValue.cpp | 236 PHINode *phi = builder->CreatePHI(SharkType::to_stackType(type()), name); local 237 phi->addIncoming(this->generic_value(), this_block); 238 phi->addIncoming(other->generic_value(), other_block); 239 return SharkValue::create_generic(type(), phi, zero_checked());
|
H A D | sharkValue.hpp | 155 llvm::PHINode* phi, 244 SharkPHIValue(ciType* type, llvm::PHINode* phi, const SharkPHIValue *parent) argument 245 : SharkNormalValue(type, phi, parent && parent->zero_checked()), 334 llvm::PHINode* phi, 336 return new SharkPHIValue(type, phi, parent); 333 create_phi(ciType* type, llvm::PHINode* phi, const SharkPHIValue* parent) argument
|
H A D | sharkTopLevelBlock.cpp | 1709 PHINode *phi = builder()->CreatePHI( local 1711 phi->addIncoming(tlab_object, got_tlab); 1712 phi->addIncoming(heap_object, got_heap); 1713 fast_object = phi; 1770 PHINode *phi = builder()->CreatePHI(SharkType::oop_type(), "object"); local 1771 phi->addIncoming(fast_object, got_fast); 1772 phi->addIncoming(slow_object, got_slow); 1773 object = phi;
|
/openjdk7/hotspot/src/share/vm/opto/ |
H A D | split_if.cpp | 169 // Get memory-phi anti-dep loads will be using 198 Node *phi = PhiNode::make_blank(blk1, n); local 213 phi->init_req( j, x ); 215 // Announce phi to optimizer 216 register_new_node(phi, blk1); 218 // Remove cloned-up value from optimizer; use phi instead 219 _igvn.replace_node( n, phi ); 331 // the "while( phi->outcnt() )" loop. 339 // Normal (non-phi) use 363 // far below the merge point can't always be split up (e.g., phi 498 Node* phi = region->out(k); local [all...] |
H A D | addnode.cpp | 90 PhiNode *phi; local 91 // Check for tight loop increments: Loop-phi of Add of loop-phi 92 if( in1->is_Phi() && (phi = in1->as_Phi()) && !phi->is_copy() && phi->region()->is_Loop() && phi->in(2)==add) 94 if( in2->is_Phi() && (phi = in2->as_Phi()) && !phi->is_copy() && phi [all...] |
H A D | postaloc.cpp | 420 Node *phi = b->_nodes[phi_dex]; local 421 if( !phi->is_Phi() ) 432 // Remove copies along phi edges 501 Node *phi = b->_nodes[j]; local 502 uint pidx = n2lidx(phi); 503 OptoReg::Name preg = lrgs(n2lidx(phi)).reg(); 505 // Remove copies remaining on edges. Check for junk phi. 507 for( k=1; k<phi->req(); k++ ) { 508 Node *x = phi->in(k); 509 if( phi ! [all...] |
H A D | idealKit.cpp | 223 // creating phi's to merge values. If bind is true and 233 // If this is last predecessor, then don't force phi creation 240 // reaching the label, or a phi that merges multiples values reaching 242 // a phi whose control input is the region node for the label. 247 // If the var went unused no need for a phi 251 // Only one unique value "m" is known to reach this label so a phi 258 // Record the phi/value used for this var in the label's cvstate 262 // a create a phi if one does not already exist. 267 // Record in the phi, the var's value from the current state 277 assert(!was_promoted_to_phi(n, reg), "n already promoted to phi o 448 PhiNode* phi; local 472 PhiNode* phi; local [all...] |
H A D | reg_split.cpp | 475 PhiNode *phi; local 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 1269 Node *phi = phis->at(insidx); local 1334 Node *phi = phis->at(insidx); local [all...] |
H A D | subnode.cpp | 114 const PhiNode *phi; local 116 !(phi=inc->in(1)->as_Phi()) || 117 phi->is_copy() || 118 !phi->region()->is_CountedLoop() || 119 inc != phi->region()->as_CountedLoop()->incr() )
|
H A D | escape.hpp | 561 Node* phi = _node_map[idx]; local 562 return (phi == NULL) ? NULL : phi->as_Phi();
|
H A D | lcm.cpp | 427 // uses of the phi are scheduled. 764 // of the phi to be scheduled first. The select() method breaks 915 // create a phi for the def in a dominating block. 939 // Check to see if the use_blk already has an identical phi inserted. 942 Node *phi = use_blk->_nodes[1]; local 943 if( phi->is_Phi() ) { 944 fixup = phi; 946 if (phi->in(k) != inputs[k]) {
|
H A D | callGenerator.cpp | 692 Node* phi = PhiNode::make(region, m, t); local 693 phi->set_req(2, n); 694 kit.map()->set_req(i, gvn.transform(phi)); 941 Node* phi = PhiNode::make(region, m, t); local 942 phi->set_req(2, n); 943 kit.map()->set_req(i, gvn.transform(phi));
|
H A D | cfgnode.cpp | 82 assert(!r->as_Region()->has_phi(), "no phi users"); 86 // igvn->hash_delete( phi ); 100 // Node *phi = region->out(k); 101 // if( phi->is_Phi() ) { 102 // phi->add_req(phi->in(i)); 122 Node* phi = fast_out(i); local 123 if (phi->is_Phi()) { // Check for Phi users 124 assert(phi->in(0) == (Node*)this, "phi use 139 Node* phi = fast_out(i); local 157 check_phi_clipping( PhiNode *phi, ConNode * &min, uint &min_idx, ConNode * &max, uint &max_idx, Node * &val, uint &val_idx ) argument 249 check_convf2i_clipping( PhiNode *phi, uint idx, ConvF2INode * &convf2i, Node *min, Node *max) argument 317 Node* phi = raw_out(i); local 386 PhiNode* phi = has_unique_phi(); local 633 PhiNode* phi = has_unique_phi(); local 1214 is_x2logic( PhaseGVN *phase, PhiNode *phi, int true_path ) argument 1273 is_cond_add(PhaseGVN *phase, PhiNode *phi, int true_path) argument 1403 split_once(PhaseIterGVN *igvn, Node *phi, Node *val, Node *n, Node *newn) argument 1427 split_flow_path(PhaseGVN *phase, PhiNode *phi) argument 1888 Node* phi = mms.memory(); local 1897 Node* phi = mms.memory(); local 1905 Node* phi = mms.memory(); local [all...] |
H A D | chaitin.cpp | 1601 Node *phi = b->_nodes[i]; local 1602 if( !phi->is_Phi() ) { // Found end of Phis with no match? 1611 if( phi->in(j) != base->in(j) && 1612 !(phi->in(j)->is_Con() && base->in(j)->is_Con()) ) // allow different NULLs 1615 base = phi; // Then use existing 'phi' and drop 'base' 1649 // like to see in the same register. Compare uses the loop-phi and so 1651 // extended live range overlaps with the update of the loop-phi value 1654 // at least 2 copies, one before the loop-phi update instruction and 1656 // phi 1658 Node *phi = n->in(1); local [all...] |
H A D | escape.cpp | 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); local 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 local 3106 PhiNode *phi = orig_phis.at(j); local [all...] |
H A D | loopnode.hpp | 180 Node *phi() const; 260 Node *phi() const { Node *tmp = incr (); return (tmp && tmp->req()==3) ? tmp->in(1) : NULL; } function in class:CountedLoopEndNode 261 Node *init_trip() const { Node *tmp = phi (); return (tmp && tmp->req()==3) ? tmp->in(1) : NULL; } 269 if (phi() == NULL) { 272 Node *ln = phi()->in(0); 299 inline Node *CountedLoopNode::phi() const { return loopexit() ? loopexit()->phi() : NULL; } function in class:CountedLoopNode 961 // Has use internal to the vector set (ie. not in a phi at the loop head) 968 // Insert phi(lp_entry_val, back_edge_val) at use->in(idx) for loop lp if phi doe [all...] |
H A D | loopopts.cpp | 51 Node *phi; local 56 phi = new (C) PhiNode(region, type, NULL, iid, index, offset); 58 phi = PhiNode::make_blank(region, n); 69 // Alter data node to use pre-phi inputs 92 // therefore, the only top we can split thru a phi is on a backedge of 130 phi->set_req( i, x ); 134 _igvn.remove_dead_node(phi); 139 register_new_node( phi, region ); 141 for (uint i2 = 1; i2 < phi->req(); i2++) { 142 Node *x = phi 268 Node *phi = n->in(i); local 500 PhiNode* phi = out->as_Phi(); local 595 PhiNode* phi = NULL; local 860 Node *phi = split_thru_phi( n, n_ctrl, policy ); local 1080 clone_iff( PhiNode *phi, IdealLoopTree *loop ) argument 1150 clone_bool( PhiNode *phi, IdealLoopTree *loop ) argument 1440 Node *phi; local 1511 Node *phi = b->in(1); local 1555 Node* phi = cmp1; local 1571 Node* phi = add->in(1); local 2021 Node *phi = PhiNode::make(lp, back_edge_val); local 2726 Node *phi = cl->phi(); local [all...] |
H A D | parse1.cpp | 1592 PhiNode* phi; local 1594 phi = m->as_Phi(); 1596 phi = NULL; 1604 assert(phi == NULL, "the merge contains phis, not vice versa"); 1608 if (phi == NULL) { 1619 phi = ensure_phi(j, nophi); 1626 // - there is no phi (because TypeFlow detected a conflict), or 1628 // It is a bug if we create a phi which sees a garbage value on a live path. 1630 if (phi != NULL) { 1632 assert(phi 1701 PhiNode* phi; local 1791 Node* phi = mms.memory(); local 1856 PhiNode* phi = PhiNode::make(region, o, t); local 1873 PhiNode* phi; local 1994 Node* phi = mms.force_memory()->as_Phi()->slice_memory(adr_type); local 2008 Node* phi = _exits.argument(0); local [all...] |
H A D | parse2.cpp | 708 Node *phi = PhiNode::make(reg, NULL, TypeInt::INT); local 713 phi->init_req(1, negn); 716 phi->init_req(2, andx); 718 push( _gvn.transform(phi) ); 928 PhiNode* phi = cmp->in(1)->as_Phi(); local 929 int true_path = phi->is_diamond_phi(); 931 _gvn.type(phi->in(1))->singleton() && 932 _gvn.type(phi->in(2))->singleton()) { 933 // phi->region->if_proj->ifnode->bool->cmp 934 BoolNode* bol = phi [all...] |
H A D | stringopts.cpp | 149 // phi->region->if_proj->ifnode->bool 1004 Node *phi = new (C) PhiNode(r, TypeInt::INT); local 1005 kit.gvn().set_type(phi, TypeInt::INT); 1014 phi->init_req(1, __ SubI(__ intcon(0), arg)); 1017 phi->init_req(2, arg); 1021 C->record_for_igvn(phi); 1043 Node* limit = __ CmpI(phi, value); 1371 Node *phi = new (C) PhiNode(r, type); local 1372 kit.gvn().set_type(phi, phi [all...] |
/openjdk7/hotspot/src/share/vm/c1/ |
H A D | c1_ValueStack.cpp | 177 assert(stack_at(index)->as_Phi() == NULL || stack_at(index)->as_Phi()->block() != b, "phi function already created"); 180 Value phi = new Phi(t, b, -index - 1); local 181 _stack[index] = phi; 187 assert(local_at(index)->as_Phi() == NULL || local_at(index)->as_Phi()->block() != b, "phi function already created"); 190 Value phi = new Phi(t, b, index); local 191 store_local(index, phi);
|
H A D | c1_InstructionPrinter.cpp | 109 Phi* phi = v ? v->as_Phi() : NULL; local 110 if (phi && phi->is_illegal()) { 118 Phi* phi = v ? v->as_Phi() : NULL; local 119 return phi && phi->block() == b; 226 Phi* phi = value->as_Phi(); local 227 if (phi != NULL) { 228 if (phi->operand()->is_valid()) { 230 phi 288 Phi* phi = v->as_Phi(); local [all...] |