<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><pre style="background-color: rgb(238, 238, 238);" class=""><font color="#0000ff" class="">I am asking why not just do next?:</font></pre><pre style="background-color: rgb(238, 238, 238);" class=""><span class="new" style="color: blue;">+  if (u_loop->_child) {</span>
<span class="new" style="color: blue;">+    if (u_loop->_head->is_OuterStripMinedLoop()) {</span>
<span class="new" style="color: blue;">+      return u_loop->_head->in(LoopNode::EntryControl);</span>
</pre><div class=""><span class="new" style="color: blue;"><br class=""></span></div><div>Vladimir</div><div><br class=""><blockquote type="cite" class=""><div class="">On Mar 21, 2018, at 2:18 AM, Roland Westrelin <<a href="mailto:rwestrel@redhat.com" class="">rwestrel@redhat.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><br class=""><blockquote type="cite" class="">I agree with changes. But can you explain why you need additional check useblock == u_loop->_head? <br class="">Since x (clone) comes from outside loop it should be safe place it outside OuterStripMinedLoop.<br class=""></blockquote><br class="">The outer strip mined loop is only a skeleton. It has no Phi. They are<br class="">added to match those of the counted loop only after loop opts. If the<br class="">use of the load is a counted loop Phi, once the outer loop phis are<br class="">added, we want the load to be an input of one of those Phis. So the load<br class="">must not be sunk between the counted loop and the outer strip mined<br class="">loop.<br class=""><br class="">if (useblock == u_loop->_head && u_loop->_head->is_OuterStripMinedLoop()) {<br class=""><br class="">tests for that case.<br class=""><br class="">Roland.<br class=""></div></div></blockquote></div><br class=""></body></html>