< prev index next >
src/hotspot/share/opto/loopnode.cpp
Print this page
*** 1258,1267 ****
--- 1258,1271 ----
// construct required phi nodes for outer loop.
CountedLoopNode* inner_cl = unique_ctrl_out()->as_CountedLoop();
assert(inner_cl->is_strip_mined(), "inner loop should be strip mined");
Node* inner_iv_phi = inner_cl->phi();
if (inner_iv_phi == NULL) {
+ IfNode* outer_le = outer_loop_end();
+ Node* iff = igvn->transform(new IfNode(outer_le->in(0), outer_le->in(1), outer_le->_prob, outer_le->_fcnt));
+ igvn->replace_node(outer_le, iff);
+ inner_cl->clear_strip_mined();
return;
}
CountedLoopEndNode* inner_cle = inner_cl->loopexit();
int stride = inner_cl->stride_con();
< prev index next >