<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:fedor.v.sergeev@gmail.com" title="Fedor Sergeev <fedor.v.sergeev@gmail.com>"> <span class="fn">Fedor Sergeev</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - simple-loop-unswitch asserts after nontrivial unswitch: Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed."
   href="https://bugs.llvm.org/show_bug.cgi?id=38778">bug 38778</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>FIXED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - simple-loop-unswitch asserts after nontrivial unswitch: Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed."
   href="https://bugs.llvm.org/show_bug.cgi?id=38778#c9">Comment # 9</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - simple-loop-unswitch asserts after nontrivial unswitch: Assertion `use_empty() && "Uses remain when a value is destroyed!"' failed."
   href="https://bugs.llvm.org/show_bug.cgi?id=38778">bug 38778</a>
              from <span class="vcard"><a class="email" href="mailto:fedor.v.sergeev@gmail.com" title="Fedor Sergeev <fedor.v.sergeev@gmail.com>"> <span class="fn">Fedor Sergeev</span></a>
</span></b>
        <pre>Fixed by:

commit 8b6effd9690024d8138de9c903d88a0c3f706487
Author: Fedor Sergeev <<a href="mailto:fedor.sergeev@azul.com">fedor.sergeev@azul.com</a>>
Date:   Tue Sep 4 20:19:41 2018 +0000

    [SimpleLoopUnswitch] remove a chain of dead blocks at once

    Recent change to deleteDeadBlocksFromLoop was not enough to
    fix all the problems related to dead blocks after nontrivial
    unswitching of switches.

    We need to delete all the dead blocks that were created during
    unswitching, otherwise we will keep having problems with phi's
    or dead blocks.

    This change removes all the dead blocks that are reachable from the loop,
    not trying to track whether these blocks are newly created by unswitching
    or not. While not completely correct, we are unlikely to get loose but
    reachable dead blocks that do not belong to our loop nest.

    It does fix all the failures currently known, in particular PR38778.

    Reviewed By: asbirlea
    Differential Revision: <a href="https://reviews.llvm.org/D51519">https://reviews.llvm.org/D51519</a>

    llvm-svn: 341398</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>