1.1 --- a/src/share/vm/opto/phaseX.cpp Thu May 15 18:23:26 2014 -0400 1.2 +++ b/src/share/vm/opto/phaseX.cpp Fri May 16 12:05:14 2014 -0700 1.3 @@ -1379,6 +1379,15 @@ 1.4 _worklist.push(u); 1.5 } 1.6 } 1.7 + // If changed AddI/SubI inputs, check CmpU for range check optimization. 1.8 + if (use_op == Op_AddI || use_op == Op_SubI) { 1.9 + for (DUIterator_Fast i2max, i2 = use->fast_outs(i2max); i2 < i2max; i2++) { 1.10 + Node* u = use->fast_out(i2); 1.11 + if (u->is_Cmp() && (u->Opcode() == Op_CmpU)) { 1.12 + _worklist.push(u); 1.13 + } 1.14 + } 1.15 + } 1.16 // If changed AddP inputs, check Stores for loop invariant 1.17 if( use_op == Op_AddP ) { 1.18 for (DUIterator_Fast i2max, i2 = use->fast_outs(i2max); i2 < i2max; i2++) {