Lines Matching defs:peel

2038 // Validate the loop partition sets: peel and not_peel
2039 bool PhaseIdealLoop::is_valid_loop_partition( IdealLoopTree *loop, VectorSet& peel, Node_List& peel_list,
2042 // Check that peel_list entries are in the peel set
2044 if (!peel.test(peel_list.at(i)->_idx)) {
2048 // Check at loop members are in one of peel set or not_peel set
2052 // Check that peel set elements are in peel_list
2053 if (peel.test(di)) {
2069 if (peel.test(di)) {
2117 // Partially peel (aka loop rotation) the top portion of a loop (called
2118 // the peel section below) by cloning it and placing one copy just before
2138 // Step 2: schedule (with cloning) operations in the peel
2142 // instance, a reference to A[i] in the not-peel
2145 // in the peel block. This step will clone the left
2147 // from the peel to the not-peel section.
2155 // So the clone's peel section is placed before the
2156 // new loop head, and the clone's not-peel section is
2158 // peel section forms the tail of the new loop.
2238 // after partial peel
2388 return false; // No peel point found
2392 return false; // No peel point found
2409 tty->print_cr("before partial peel one iteration");
2425 VectorSet peel(area);
2431 // Set of cfg nodes to peel are those that are executable from
2435 peel.set(head->_idx);
2443 !peel.test_set(use->_idx)) {
2450 // Set of non-cfg nodes to peel are those that are control
2456 if (peel.test(n_c->_idx)) {
2457 peel.set(n->_idx);
2466 // Get a post order schedule of nodes in the peel region
2468 scheduled_nodelist(loop, peel, peel_list );
2470 assert(is_valid_loop_partition(loop, peel, peel_list, not_peel), "bad partition");
2485 // Evacuate nodes in peel region into the not_peeled region if possible
2501 if ( !has_use_internal_to_set(n, peel, loop) ) {
2508 peel >>= n->_idx; // delete n from peel set.
2521 // the peel/not_peel boundary such as bool->if
2555 // the nodes being moved (sinked) from the peel region.
2572 assert(is_valid_loop_partition(loop, peel, peel_list, not_peel), "bad partition");
2584 // Add phi if "def" node is in peel set and "use" is not
2592 (!peel.test(use->_idx) ||
2603 // "def" is in peel set, "use" is not in peel set
2604 // or "use" is in the entry boundary (a phi) of the peel set
2645 not_peel.test(n->_idx) && peel.test(n->in(0)->_idx)) {
2690 tty->print_cr("\nafter partial peel one iteration");