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

    <tr>
        <th>Summary</th>
        <td>
            [AArch64] Severe AArch64DAGToDAGISel::Select build time regression on MSVC builds
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AArch64,
            build-problem
      </td>
    </tr>

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

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

<pre>
    The time taken to build AArch64ISelDAGToDAG.cpp on MSVC release builds has degraded severely over the past few months, with this now taking over 10mins to build on my normal dev machine.

This appears to be entirely due to the size of AArch64DAGToDAGISel::Select and the number of intrinsic expansions (in particular all the additional SME/SVE intrinsics) that are now performed, which appear to all being inlined.

The addition of a `#pragma inline_depth(0)` tag gets the build time to under 2 mins again, and could be an MSVC-only option, but I'd like to ask the aarch64 teams if there's any chance that we can move some of these intrinsics expansions into tablegen instead?

CC @CarolineConcatto @Lukacma @momchil-velikov @MDevereau 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEVE1v4zYQ_TXUZRBDIiU7Pujg2uvFos2lDvZajMixyJofAkk5TX99QclBgl72Igkjzsx7bx4HUzKjJ-pZ9xvrThXOWYfY__n7xbjgqyGo9_5VE2TjCDLeyEMOMMzGKjgcotTb9seF7Onw_TWcDt83cpogeHi5_DxCJEuYaD2dQGMCRWNERQoS3SmSfYdwpwhZE0yYMlzpDVzwWSfGj_BmsoasTQIf3kp348c1oamd8ekTSvDg3sGH6NCCojs4lNp42rD6xOrD-nwtlXCaCOOaSkA-mwWGmqmECpBk_iUI1w96H9QKTSYOTBwuZElmQK-W8352A8WSYXyOxicjgf6Z0CcTfALGn42HCWM2crYYAa1d8lApk03waOHy8o3x8-Xnt88SifE9ZI0ZMNLCf6J4DdGRWqTRRuoHmQK8FB2o6GO8NZ7U_5h_titAEdi2ZlxMEUeHj5S_FE1ZM_5cM75n2xoyjjBSTgvaVefVBgFmrygCh2UKOKLxBVRRRIbZqiItri54Cr5MeSqty5lhzvCD8Z0Ca25LLUy3VQ9c9IZM6BKYawlGYnyXAP07SI1e0irJG4FEDy7cCVJwy7iypkRf9Ps6A-PLbHGwNJIH41MmVEycv2p0PAJr6yPGUMQ4Bi8x51Bif8w3lA7LpwtOamOf7mTNLdxL6OW0WBlnqFQv1F7ssaK-2Yla7JuuaSrdd0hXtae627b7rhXXTimxk7J5Fh2_tte2Mj2vedvUomm2zbOoN0KKlm934nnYtQrbmrU1OTR2Y-3dbUIcK5PSTH3TtC3vKosD2bTcYc4HlDfyionDw8GMc8aP5U-Z4dMUw2DJlWh3qmJfSj4N85hYW1uTcvpskk22y2r4qNSd4LLQ_eXt-OKXSGOklBbvPVbDuhKqOdpe5zylksrPjJ9Hk_U8bGRwjJ8LjseroP6bZGb8vDBPjJ8f5O89_y8AAP__QaWWGg">