hotspot/src/share/vm/opto/superword.cpp
changeset 352 6d8e1aa5834e
parent 245 b9df534a2faa
child 360 21d113ecbf6a
--- a/hotspot/src/share/vm/opto/superword.cpp	Thu Apr 03 13:33:13 2008 -0700
+++ b/hotspot/src/share/vm/opto/superword.cpp	Thu Apr 03 21:26:03 2008 -0700
@@ -65,6 +65,11 @@
   Node *cl_exit = cl->loopexit();
   if (cl_exit->in(0) != lpt->_head) return;
 
+  // Make sure the are no extra control users of the loop backedge
+  if (cl->back_control()->outcnt() != 1) {
+    return;
+  }
+
   // Check for pre-loop ending with CountedLoopEnd(Bool(Cmp(x,Opaque1(limit))))
   CountedLoopEndNode* pre_end = get_pre_loop_end(cl);
   if (pre_end == NULL) return;