Searched refs:PhiNode (Results 1 - 25 of 30) sorted by relevance

12

/openjdk7/hotspot/agent/src/share/classes/sun/jvm/hotspot/opto/
H A DPhiNode.java33 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 Dcfgnode.hpp41 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 Descape.hpp116 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 Dcfgnode.cpp119 // 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 DidealKit.cpp281 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 Dloopopts.cpp56 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 Dlibrary_call.cpp123 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 Dmacro.cpp414 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 Dparse1.cpp724 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 Dstringopts.cpp985 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 Dsuperword.hpp246 PhiNode* iv() { return _iv; }
252 PhiNode* _iv; // Induction var
442 PhiNode* iv() { return _slp->iv(); } // Induction var
H A Descape.cpp2295 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 Dparse.hpp247 // 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 Difnode.cpp82 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 Dsplit_if.cpp198 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 DcallGenerator.cpp676 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 DgraphKit.cpp313 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 Dloopnode.cpp368 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 Dloopnode.hpp1002 BoolNode *clone_iff( PhiNode *phi, IdealLoopTree *loop );
1003 CmpNode *clone_bool( PhiNode *phi, IdealLoopTree *loop );
H A Dreg_split.cpp475 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 Dmemnode.cpp161 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 Dgcm.cpp510 // 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 Daddnode.cpp90 PhiNode *phi;
H A DdoCall.cpp734 // 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 Dlcm.cpp693 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);

Completed in 179 milliseconds

12