hotspot/src/share/vm/opto/phaseX.cpp
changeset 24479 20eb4c752fb5
parent 24424 2658d7834c6e
child 24923 9631f7d691dc
--- a/hotspot/src/share/vm/opto/phaseX.cpp	Mon Jan 27 10:20:51 2014 -0800
+++ b/hotspot/src/share/vm/opto/phaseX.cpp	Fri May 16 12:05:14 2014 -0700
@@ -1393,6 +1393,15 @@
           _worklist.push(u);
       }
     }
+    // If changed AddI/SubI inputs, check CmpU for range check optimization.
+    if (use_op == Op_AddI || use_op == Op_SubI) {
+      for (DUIterator_Fast i2max, i2 = use->fast_outs(i2max); i2 < i2max; i2++) {
+        Node* u = use->fast_out(i2);
+        if (u->is_Cmp() && (u->Opcode() == Op_CmpU)) {
+          _worklist.push(u);
+        }
+      }
+    }
     // If changed AddP inputs, check Stores for loop invariant
     if( use_op == Op_AddP ) {
       for (DUIterator_Fast i2max, i2 = use->fast_outs(i2max); i2 < i2max; i2++) {