equal
deleted
inserted
replaced
1748 old_phi->add_req(p); |
1748 old_phi->add_req(p); |
1749 // Check for the special case of making the old phi useless and |
1749 // Check for the special case of making the old phi useless and |
1750 // disappear it. In JavaGrande I have a case where this useless |
1750 // disappear it. In JavaGrande I have a case where this useless |
1751 // Phi is the loop limit and prevents recognizing a CountedLoop |
1751 // Phi is the loop limit and prevents recognizing a CountedLoop |
1752 // which in turn prevents removing an empty loop. |
1752 // which in turn prevents removing an empty loop. |
1753 Node *id_old_phi = old_phi->Identity( &igvn ); |
1753 Node *id_old_phi = igvn.apply_identity(old_phi); |
1754 if( id_old_phi != old_phi ) { // Found a simple identity? |
1754 if( id_old_phi != old_phi ) { // Found a simple identity? |
1755 // Note that I cannot call 'replace_node' here, because |
1755 // Note that I cannot call 'replace_node' here, because |
1756 // that will yank the edge from old_phi to the Region and |
1756 // that will yank the edge from old_phi to the Region and |
1757 // I'm mid-iteration over the Region's uses. |
1757 // I'm mid-iteration over the Region's uses. |
1758 for (DUIterator_Last imin, i = old_phi->last_outs(imin); i >= imin; ) { |
1758 for (DUIterator_Last imin, i = old_phi->last_outs(imin); i >= imin; ) { |