< prev index next >

src/share/vm/opto/superword.cpp

Print this page

        

@@ -2386,10 +2386,15 @@
     if (n->in(1) == iv() && n->in(2)->is_Con()) {
       _scale = 1 << n->in(2)->get_int();
       return true;
     }
   } else if (opc == Op_ConvI2L) {
+    if (n->in(1)->Opcode() == Op_CastII &&
+        n->in(1)->as_CastII()->has_range_check()) {
+      // Skip range check dependent CastII nodes
+      n = n->in(1);
+    }
     if (scaled_iv_plus_offset(n->in(1))) {
       return true;
     }
   } else if (opc == Op_LShiftL) {
     if (!has_iv() && _invar == NULL) {
< prev index next >