hotspot/src/share/vm/opto/loopnode.cpp
changeset 34180 f0ec91019db2
parent 34174 4db2fb26dc49
child 35084 5b34a4ae0f58
--- a/hotspot/src/share/vm/opto/loopnode.cpp	Fri Nov 13 18:14:41 2015 +0300
+++ b/hotspot/src/share/vm/opto/loopnode.cpp	Mon Nov 16 09:55:25 2015 +0100
@@ -329,6 +329,9 @@
 
   Node* phi_incr = NULL;
   // Trip-counter increment must be commutative & associative.
+  if (incr->Opcode() == Op_CastII) {
+    incr = incr->in(1);
+  }
   if (incr->is_Phi()) {
     if (incr->as_Phi()->region() != x || incr->req() != 3)
       return false; // Not simple trip counter expression
@@ -356,6 +359,9 @@
     xphi = stride;
     stride = tmp;
   }
+  if (xphi->Opcode() == Op_CastII) {
+    xphi = xphi->in(1);
+  }
   // Stride must be constant
   int stride_con = stride->get_int();
   if (stride_con == 0)