<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Oct 6, 2017 at 2:56 AM, Serguei Katkov via Phabricator <span dir="ltr"><<a href="mailto:reviews@reviews.llvm.org" target="_blank">reviews@reviews.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">skatkov added a comment.<br>
<br>
I believe that added assert is invalid. PreferredLoopExit might be easily part of the loop L if it was not added to hot chain. In other words pass decided to layout this BB in a scope of outer loop or function at all.<br>
<br>
If you agree with me, please fix this asap.<br></blockquote><div><br></div><div>Hi Serguei</div><div><br></div><div>I think i know what you mean. The problem is the block may be excluded from the LoopBlockSet (because its cold), and its predecessor in the current loop is chosen as the ExitingBlock to rotate with. However, its predecessor does not exit the current loop. Am I correct ?</div><div><br></div><div>I reverted that assert so unbreak a reported build. I will add a test case once we are on the same page with this.</div><div><br></div><div>Thanks!</div><div>-Xin  </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="https://reviews.llvm.org/D38563" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D38563</a><br>
<br>
<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Software Engineer - Compiler Toolchain<br>Employee of Facebook Inc.</div>
</div></div>