hotspot/src/share/vm/opto/loopnode.cpp
changeset 31772 718fc367468d
parent 31403 7bf7e00a1aac
child 31858 13420c0a3ad5
--- a/hotspot/src/share/vm/opto/loopnode.cpp	Fri Jul 10 11:31:49 2015 -0700
+++ b/hotspot/src/share/vm/opto/loopnode.cpp	Fri Jul 10 11:59:09 2015 -0700
@@ -2317,7 +2317,11 @@
     // 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;
+      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()->do_unroll_only()) continue;
 
       lpt->reassociate_invariants(this);