Searched defs:phi (Results 1 - 25 of 34) sorted by relevance

12

/openjdk7/hotspot/src/share/vm/shark/
H A DsharkIntrinsics.cpp174 PHINode *phi = builder()->CreatePHI(a->getType(), "result"); local
175 phi->addIncoming(a, return_a);
176 phi->addIncoming(b, return_b);
181 phi,
H A DsharkNativeWrapper.cpp125 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 DsharkState.cpp134 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 DsharkValue.cpp236 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 DsharkValue.hpp155 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 DsharkTopLevelBlock.cpp1709 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 Dsplit_if.cpp169 // 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 Daddnode.cpp90 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 Dpostaloc.cpp420 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 DidealKit.cpp223 // 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 Dreg_split.cpp475 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 Dsubnode.cpp114 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 Descape.hpp561 Node* phi = _node_map[idx]; local
562 return (phi == NULL) ? NULL : phi->as_Phi();
H A Dlcm.cpp427 // 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 DcallGenerator.cpp692 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 Dcfgnode.cpp82 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 Dchaitin.cpp1601 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 Descape.cpp2292 // 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 Dloopnode.hpp180 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 Dloopopts.cpp51 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 Dparse1.cpp1592 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 Dparse2.cpp708 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 Dstringopts.cpp149 // 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 Dc1_ValueStack.cpp177 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 Dc1_InstructionPrinter.cpp109 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...]

Completed in 193 milliseconds

12