<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:hans@chromium.org" title="Hans Wennborg <hans@chromium.org>"> <span class="fn">Hans Wennborg</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - X86: Generate smaller code for atomic refcount decrement"
   href="https://llvm.org/bugs/show_bug.cgi?id=31367">bug 31367</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>RESOLVED
           </td>
           <td>REOPENED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>FIXED
           </td>
           <td>---
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - X86: Generate smaller code for atomic refcount decrement"
   href="https://llvm.org/bugs/show_bug.cgi?id=31367#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - X86: Generate smaller code for atomic refcount decrement"
   href="https://llvm.org/bugs/show_bug.cgi?id=31367">bug 31367</a>
              from <span class="vcard"><a class="email" href="mailto:hans@chromium.org" title="Hans Wennborg <hans@chromium.org>"> <span class="fn">Hans Wennborg</span></a>
</span></b>
        <pre>This was reverted in r290066 as it broke a lot of internal tests.



I'm still not sure why this didn't work. GCC also prefers the simpler "lock
sub" over "lock xadd", but it doesn't go as far as folding that to "lock dec".

One theory is that our folding of "sub -1" to "dec" doesn't take into account
that "dec" doesn't set CF, and something in the code that broke was somehow
depending on CF.

The DAG transform could also be broken in some other way of course.</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>