<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/62875>62875</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Possibly suboptimal AntiDepBreakMode for X86
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          akihikodaki
      </td>
    </tr>
</table>

<pre>
    X86 uses `ANTIDEP_CRITICAL` as `AntiDepBreakMode`:
https://github.com/llvm/llvm-project/blob/llvmorg-16.0.4/llvm/lib/Target/X86/X86Subtarget.h#L423

`git blame` tells this specification was added with commit 8523b16ff5648db3421b31c119a9127ef9a573fb, which is from 2012 and says it is intended to improve the performance for Intel Atom. At that time, Intel Atom employed in-order processor so anti-dependency mattered.

Now it's 2023, and I guess everyone uses out-of-order cores. Does it still make sense to use an anti-dependency breaker? I don't know what's the *downside* of using anti-dependency breaker so I'd like to hear maintainers' opinions.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU02P4zYM_TXKhYhhy_FHDj5kJw0QYLtYtHOYWyFbVMxGFg1RniD_vnAyix206GEvNMxH-z0S7xkRugTETlVfVHXcmCWNHDtzpZGubM2VNj3be_fW1rAICqg6P3x7PR9_-_7Xyx_n1_PL4auqczBPJCQ64vwlorn-zhZVnavyoPKjyg9jSrOsb_qk9OlCaVz6bOBJ6ZP37z8e2zny3zgkpU-95_6jy_GyLeosz3afpmlFX0284Dr91tbP-ufSp0czG5Uuv-50-eT_qHV-oQS9N9OqDhJ6L5BGEpAZB3I0mEQc4GYEjLVo4UZphIGniRK0lS77onauqnet7cudLvqyGIpib_aFbtDtTdWUrlf6BW4jDSOQgIs8gc4LDSZYEHMXoLQCFBKGlSIx0DRHfkdII8KM0XGcTBgQHEc4h4QeDomnDA4J0mgSJJpwZfmJAU6z5ztaoLDlaDHCHHlAEY4gDCYk2lqcV8ow3GEyKWFEm32-zze-ASWlGwGd63JlWEWf4bKgCOA7xjsHfHqBl7Rl98E1cETJ4Mj4WE8SeQ-TuSIIBsF1x0UQTPiPkH61C0ZVnuAMloPSTYJr4BvcRvPUsl5F6YPlWxCyqPQB2MEiFC7_97t15bPSjQVP1wf9iCbCZCgkQwGjKN0AzxSIg2Qb25V2X-7NBruibndtofOm2oxdZVw51K7cu1q71ppC522bO1e1ujRu32yoWy-VV7rMS10UVeZ2WDe4b3e6arRutNrlOBny2ercjONlQyILdrVum2rjTY9efuQvdo8U9MtF1C73JEl-fpYoeey-swj1_g6y9DwnmoyHfwfvYZu3tt4s0Xe_nLyHPFH69FD4TwAAAP__E2FaQg">