Lines Matching defs:region

39 Node *PhaseIdealLoop::split_thru_phi( Node *n, Node *region, int policy ) {
47 assert(region->is_Region(), "");
56 phi = new (C) PhiNode(region, type, NULL, iid, index, offset);
58 phi = PhiNode::make_blank(region, n);
61 for (uint i = 1; i < region->req(); i++) {
64 if (region->in(i) == C->top()) {
70 if (n->in(0) == region)
71 x->set_req( 0, region->in(i) );
74 if (in->is_Phi() && in->in(0) == region)
94 singleton &= region->is_Loop() && (i != LoopNode::EntryControl);
139 register_new_node( phi, region );
163 Node *new_ctrl = dom_lca(old_ctrl, region->in(i2));
172 IdealLoopTree *use_loop = get_loop(region);
470 Node *PhaseIdealLoop::conditional_move( Node *region ) {
472 assert(region->is_Region(), "sanity check");
473 if (region->req() != 3) return NULL;
476 Node *lp = region->in(1);
477 Node *rp = region->in(2);
488 IdealLoopTree* r_loop = get_loop(region);
496 for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) {
497 Node *out = region->fast_out(i);
537 for (uint j = 1; j < region->req(); j++) {
538 Node *proj = region->in(j);
596 for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) {
597 Node *out = region->fast_out(i);
608 for (uint j = 1; j < region->req(); j++) {
609 Node *proj = region->in(j);
639 _igvn._worklist.push(region);
726 static bool merge_point_too_heavy(Compile* C, Node* region) {
727 // Bail out if the region and its phis have too many users.
729 for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) {
730 weight += region->fast_out(i)->outcnt();
736 tty->print_cr("*** Split-if bails out: %d nodes, region weight %d", C->unique(), weight);
744 static bool merge_point_safe(Node* region) {
755 for (DUIterator_Fast imax, i = region->fast_outs(imax); i < imax; i++) {
756 Node* n = region->fast_out(i);
1695 // Insert a region before an if projection (* - new node)
1711 // * new-region
1777 // region |
1806 // Create a new region on the exit path
1973 // clone "n" for special uses that are in the not_peeled region.
2151 // from clone_loop. It creates region nodes for
2153 // flow out of the loop through that exit. The region
2466 // Get a post order schedule of nodes in the peel region
2485 // Evacuate nodes in peel region into the not_peeled region if possible
2498 // If not used internal to the peeled region,
2499 // move "n" from peeled to not_peeled region.
2514 tty->print_cr("sink to not_peeled region: %d newbb: %d",
2555 // the nodes being moved (sinked) from the peel region.
2633 // the not_peeled region has control that points into the peeled region.
2634 // This necessary because the cloned peeled region will be outside