src/hotspot/share/opto/loopopts.cpp
changeset 48964 86143b5899dc
parent 48713 efa7f1a283e4
child 49482 45675142a18a
--- a/src/hotspot/share/opto/loopopts.cpp	Tue Feb 13 16:13:20 2018 +0100
+++ b/src/hotspot/share/opto/loopopts.cpp	Tue Feb 13 16:57:01 2018 +0100
@@ -693,7 +693,9 @@
 Node* PhaseIdealLoop::try_move_store_before_loop(Node* n, Node *n_ctrl) {
   // Store has to be first in the loop body
   IdealLoopTree *n_loop = get_loop(n_ctrl);
-  if (n->is_Store() && n_loop != _ltree_root && n_loop->is_loop() && n->in(0) != NULL) {
+  if (n->is_Store() && n_loop != _ltree_root &&
+      n_loop->is_loop() && n_loop->_head->is_Loop() &&
+      n->in(0) != NULL) {
     Node* address = n->in(MemNode::Address);
     Node* value = n->in(MemNode::ValueIn);
     Node* mem = n->in(MemNode::Memory);