< prev index next >

src/share/vm/opto/loopnode.cpp

Print this page

        

*** 2315,2325 **** if (ReassociateInvariants) { // Reassociate invariants and prep for split_thru_phi for (LoopTreeIterator iter(_ltree_root); !iter.done(); iter.next()) { IdealLoopTree* lpt = iter.current(); ! if (!lpt->is_counted() || !lpt->is_inner()) continue; lpt->reassociate_invariants(this); // Because RCE opportunities can be masked by split_thru_phi, // look for RCE candidates and inhibit split_thru_phi --- 2315,2329 ---- if (ReassociateInvariants) { // Reassociate invariants and prep for split_thru_phi for (LoopTreeIterator iter(_ltree_root); !iter.done(); iter.next()) { IdealLoopTree* lpt = iter.current(); ! bool is_counted = lpt->is_counted(); ! if (!is_counted || !lpt->is_inner()) continue; ! ! // check for vectorized loops, any reassociation of invariants was already done ! if (is_counted && lpt->_head->as_CountedLoop()->ignore_slp()) continue; lpt->reassociate_invariants(this); // Because RCE opportunities can be masked by split_thru_phi, // look for RCE candidates and inhibit split_thru_phi
< prev index next >