/openjdk7/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/ |
H A D | PhiNode.java | 33 public class PhiNode extends TypeNode { class in inherits:TypeNode 43 Type type = db.lookupType("PhiNode"); 47 public PhiNode(Address addr) { method in class:PhiNode
|
/openjdk7/hotspot/src/share/vm/opto/ |
H A D | cfgnode.hpp | 41 class PhiNode; 64 // correspond 1-to-1 with RegionNode inputs. The zero input of a PhiNode is 68 // Node layout (parallels PhiNode): 84 PhiNode* has_phi() const; // returns an arbitrary phi user, or NULL 85 PhiNode* has_unique_phi() const; // returns the unique phi user, or NULL 114 //------------------------------PhiNode---------------------------------------- 120 class PhiNode : public TypeNode { class in inherits:TypeNode 140 PhiNode( Node *r, const Type *t, const TypePtr* at = NULL, function in class:PhiNode 155 static PhiNode* make( Node* r, Node* x ); 157 static PhiNode* mak [all...] |
H A D | escape.hpp | 116 class PhiNode; 533 PhiNode *create_split_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist, bool &new_created); 534 PhiNode *split_memory_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist); 536 void move_inst_mem(Node* n, GrowableArray<PhiNode *> &orig_phis); 537 Node* find_inst_mem(Node* mem, int alias_idx,GrowableArray<PhiNode *> &orig_phi_worklist); 560 PhiNode* get_map_ph [all...] |
H A D | cfgnode.cpp | 119 // Helper function: Return any PhiNode that uses this region or NULL 120 PhiNode* RegionNode::has_phi() const { 134 // Helper function: Return the only PhiNode that uses this region or NULL 135 PhiNode* RegionNode::has_unique_phi() const { 137 PhiNode* only_phi = NULL; 157 static bool check_phi_clipping( PhiNode *phi, ConNode * &min, uint &min_idx, ConNode * &max, uint &max_idx, Node * &val, uint &val_idx ) { 249 static bool check_convf2i_clipping( PhiNode *phi, uint idx, ConvF2INode * &convf2i, Node *min, Node *max) { 330 if (phi->as_Phi()->simple_data_loop_check(phi->in(1)) >= PhiNode::Unsafe) 386 PhiNode* phi = has_unique_phi(); 565 // Kill phis here to avoid it. PhiNode [all...] |
H A D | idealKit.cpp | 281 return delay_transform(PhiNode::make(reg, n, ct)); 448 PhiNode* phi; 457 phi = PhiNode::make(join_region, join_slice, Type::MEMORY, mms.adr_type(C)); 458 phi = (PhiNode*) delay_transform(phi); 472 PhiNode* phi; 476 phi = PhiNode::make(join_region, join_io, Type::ABIO); 477 phi = (PhiNode*) delay_transform(phi);
|
H A D | loopopts.cpp | 56 phi = new (C) PhiNode(region, type, NULL, iid, index, offset); 58 phi = PhiNode::make_blank(region, n); 87 // the PhiNode may cause the resulting node to migrate back to a previous 500 PhiNode* phi = out->as_Phi(); 595 PhiNode* phi = NULL; 746 // having a PhiNode input. This sidesteps the dangerous case where the split 752 // 6855164: If the merge point has a FastLockNode with a PhiNode input, we stop 1080 BoolNode *PhaseIdealLoop::clone_iff( PhiNode *phi, IdealLoopTree *loop ) { 1097 PhiNode *phi1 = new (C) PhiNode( ph [all...] |
H A D | library_call.cpp | 123 void set_result(RegionNode* region, PhiNode* value); 840 void LibraryCallKit::set_result(RegionNode* region, PhiNode* value) { 1082 Node* phi = new (C) PhiNode(region, TypeInt::BOOL); 1333 Node* result_phi = new (C) PhiNode(result_rgn, TypeInt::INT); 1531 Node* phi = new (C) PhiNode(r, Type::DOUBLE); 1610 PhiNode* result_val = new (C) PhiNode(result_region, Type::DOUBLE); 1684 Node *phi = new (C) PhiNode(r, Type::DOUBLE); 1744 Node *phi = new (C) PhiNode(r, TypeLong::LONG); 1773 Node *phi = new (C) PhiNode( [all...] |
H A D | macro.cpp | 414 PhiNode *phi = new (C) PhiNode(mem->in(0), phi_type, NULL, instance_id, alias_idx, offset); 1178 result_phi_rawmem = new (C) PhiNode(result_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1179 result_phi_rawoop = new (C) PhiNode(result_region, TypeRawPtr::BOTTOM); 1180 result_phi_i_o = new (C) PhiNode(result_region, Type::ABIO); // I/O is used for Prefetch 1191 contended_phi_rawmem = new (C) PhiNode(contended_region, Type::MEMORY, TypeRawPtr::BOTTOM); 1619 Node *pf_phi_rawmem = new (C) PhiNode( pf_region, Type::MEMORY, 1622 Node *pf_phi_abio = new (C) PhiNode( pf_region, Type::ABIO ); 1699 Node *pf_phi_rawmem = new (C) PhiNode( pf_region, Type::MEMORY, 2098 mem_phi = new (C) PhiNode( regio [all...] |
H A D | parse1.cpp | 724 Node* iophi = new (C) PhiNode(region, Type::ABIO); 725 Node* memphi = new (C) PhiNode(region, Type::MEMORY, TypePtr::BOTTOM); 740 Node* ret_phi = new (C) PhiNode(region, ret_type); 1514 if (pnum > PhiNode::Input // Known multiple inputs. 1592 PhiNode* phi; 1634 if (pnum == PhiNode::Input) { 1650 if (pnum == PhiNode::Input && 1681 PhiNode* base = NULL; 1701 PhiNode* phi; 1810 PhiNode *Pars [all...] |
H A D | stringopts.cpp | 985 Node* final_size = new (C) PhiNode(final_merge, TypeInt::INT); 1004 Node *phi = new (C) PhiNode(r, TypeInt::INT); 1006 Node *size = new (C) PhiNode(r, TypeInt::INT); 1035 Node *index = new (C) PhiNode(loop, TypeInt::INT); 1070 Node *final_mem = PhiNode::make(final_merge, kit.memory(char_adr_idx), Type::MEMORY, TypeAryPtr::CHARS); 1120 i = new (C) PhiNode(merge, TypeInt::INT); 1122 sign = new (C) PhiNode(merge, TypeInt::INT); 1154 Node *i_phi = new (C) PhiNode(head, TypeInt::INT); 1157 charPos = PhiNode::make(head, charPos); 1159 Node *mem = PhiNode [all...] |
H A D | superword.hpp | 246 PhiNode* iv() { return _iv; } 252 PhiNode* _iv; // Induction var 442 PhiNode* iv() { return _slp->iv(); } // Induction var
|
H A D | escape.cpp | 2295 PhiNode *ConnectionGraph::create_split_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist, bool &new_created) { 2305 PhiNode *result = get_map_phi(orig_phi->_idx); 2333 result = PhiNode::make(orig_phi->in(0), NULL, Type::MEMORY, atype); 2346 PhiNode *ConnectionGraph::split_memory_phi(PhiNode *orig_phi, int alias_idx, GrowableArray<PhiNode *> &orig_phi_worklist) { 2351 PhiNode *result = create_split_phi(orig_phi, alias_idx, orig_phi_worklist, new_phi_created); 2355 GrowableArray<PhiNode *> phi_lis [all...] |
H A D | parse.hpp | 247 // always PhiNode::Input (i.e., 1). The value returned is known 444 PhiNode *ensure_phi( int idx, bool nocreate = false); 445 PhiNode *ensure_memory_phi(int idx, bool nocreate = false);
|
H A D | ifnode.cpp | 82 PhiNode *phi = i1->as_Phi(); 245 Node *phi_x = PhiNode::make_blank(region_x, phi); 362 phi_s = PhiNode::make_blank(region_s,phi); 374 phi_f = PhiNode::make_blank(region_f,phi); 774 PhiNode *phi = i1->as_Phi();
|
H A D | split_if.cpp | 198 Node *phi = PhiNode::make_blank(blk1, n); 252 // to false and which to true. Put in a PhiNode to merge values; plug in 288 phi_post = PhiNode::make_blank(prior_n, def);
|
H A D | callGenerator.cpp | 676 Node* iophi = PhiNode::make(region, kit.i_o(), Type::ABIO); 692 Node* phi = PhiNode::make(region, m, t); 925 Node* iophi = PhiNode::make(region, kit.i_o(), Type::ABIO); 941 Node* phi = PhiNode::make(region, m, t);
|
H A D | graphKit.cpp | 313 for (uint i = PhiNode::Input; i < limit; i++) { 350 Node* io_phi = PhiNode::make(region, phi_map->i_o(), Type::ABIO); 356 Node* m_phi = PhiNode::make(region, m, Type::MEMORY, mms.adr_type(C)); 402 PhiNode* phi; 404 dst = phi = PhiNode::make(region, dst, _gvn.type(dst)); 412 phi = (PhiNode*)dst; 2237 PhiNode* phi; 2250 phi = PhiNode::make(region, old_slice, Type::MEMORY, mms.adr_type(C)); 2608 Node* phi = new(C) PhiNode(region, TypeInt::BOOL); 2711 Node* phi = new (C) PhiNode(regio [all...] |
H A D | loopnode.cpp | 368 PhiNode *phi = xphi->as_Phi(); 699 Node* nphi = PhiNode::make(phi->in(0), phi->in(LoopNode::EntryControl), TypeInt::INT); 1199 // Peel off PhiNode edges as well 1203 PhiNode* old_phi = oj->as_Phi(); 1206 Node *p = PhiNode::make_blank(landing_pad, old_phi); 1287 PhiNode *old_phi = out->as_Phi(); 1289 Node *phi = PhiNode::make_blank(outer, old_phi); 1406 PhiNode* n = out->as_Phi(); 1409 Node *phi = new (phase->C) PhiNode(r, n->type(), n->adr_type()); 1732 PhiNode* phi [all...] |
H A D | loopnode.hpp | 1002 BoolNode *clone_iff( PhiNode *phi, IdealLoopTree *loop ); 1003 CmpNode *clone_bool( PhiNode *phi, IdealLoopTree *loop );
|
H A D | reg_split.cpp | 475 PhiNode *phi; 635 // Keep track of index of first non-PhiNode instruction in block 658 phi = new (C) PhiNode(b->head(), n3->bottom_type());
|
H A D | memnode.cpp | 161 PhiNode *mphi = result->as_Phi(); 221 // Equivalent code in PhiNode::Ideal 1233 PhiNode* result = PhiNode::make_blank(region, this); 1346 Node *phi = new (igvn->C) PhiNode(region, this_type, NULL, this_iid, this_index, this_offset); 4086 PhiNode* phi_base; 4155 PhiNode* phi_mem = new_mem->as_Phi(); 4218 // Check if PhiNode::Ideal's "Split phis through memory merges" 4222 PhiNode* phi = base_memory()->as_Phi();
|
H A D | gcm.cpp | 510 // Provide "phi_inputs" to check if every input to a PhiNode is from the 511 // original memory state. This indicates a PhiNode for which should not 635 // PhiNode may be at start of block 'early' with backedge to 'early' 637 for (uint j = PhiNode::Input, jmax = store->req(); j < jmax; j++) { 665 assert(PhiNode::Input + num_mem_inputs < store->req(),
|
H A D | addnode.cpp | 90 PhiNode *phi;
|
H A D | doCall.cpp | 734 // However, if the ex_node is a PhiNode, I'm going to do a LoadKlass for 739 ex_klass_node = new (C) PhiNode( ex_node->in(0), TypeKlassPtr::OBJECT );
|
H A D | lcm.cpp | 693 if( n->is_Phi() || // Found a PhiNode or ParmNode 933 // PhiNode, the PhiNode uses from the def and IT's uses need fixup. 954 // If an existing PhiNode was not found, make a new one. 956 Node *new_phi = PhiNode::make(use_blk->head(), def);
|