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

    <tr>
        <th>Summary</th>
        <td>
            Segment fault when compiling LLVM with LLVM_ENABLE_MODULES=ON
        </td>
    </tr>

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

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

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

<pre>
    When I try to build LLVM with `-DLLVM_ENABLE_MODULES=ON`, everything is totally fine. But when I `checkout ` another branch, for example, my working branch `fix`, or switch back from `fix` to `main`,  it will report a "segment fault" and recompile some stuff.
Here are the screenshots:
![image](https://user-images.githubusercontent.com/77525145/161435053-535b536a-20b1-4065-91fd-9bd0e8c03851.png)
You can notice that there's a message "segment fault`, but the interesting thing is that it won't stop but will recompile more files. (The CXX objects need to be built increased from 225 to about 1000.

OS: Ubuntu 20.04 LTS
Compiler:
```
clang version 15.0.0 (https://github.com/llvm/llvm-project/ 8133778d3c8d481891143e21e0c5081a02a9889d)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/jun/opt/clang/bin
```
Linker: lld
Ninja version: 1.10.0
CMake config command:
```
cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
      -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++ \
      -DCMAKE_EXPORT_COMPILE_COMMANDS=YES \
      -DLLVM_USE_LINKER=lld    \
      -DLLVM_TARGETS_TO_BUILD=X86\
      -DBUILD_SHARED_LIBS=ON   \
      -DLLVM_CCACHE_BUILD=ON   \
      -DLLVM_APPEND_VC_REV=OFF  \
      -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
      -G"Ninja" ../llvm \
      -DLLVM_ENABLE_MODULES=ON
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVV1zmzoQ_TX4RQMDAtn4wQ82kMa3_hrbSZ0njwBhVIPkQaJJ_n1XYDe3N3VnboZYSHt2dXR2taQyf598K5lAc6Sbd6QlSlte5WixeF6iV65LZA1dOzbTY7KazhbJcbmOnxbJzvLj9QqMFo4Q-8Gad11ycUJcQRBNq-odFVwwB81ajV77HQCdlSw7S1iCd0SF1CVrUNpQkZUmUCEbxN5ofamYmdbv6FU2ZxO3xxi3gr9dtwWwAo6wnNLsjIpG1h8AcxYYasrFFY44MOFVhRp2kY1GFFkYK3aqmdCooG2lYQ6kcgBksr7wiiEla_jRbVE4lhtb7vSRNQxR-AfmSGUNY0KVUivLn_YAC3sWmfGanphFYguHpdaXzowf4GkVa-zOqpwT6NumZiWTQgMLB7YFzGhEMPECAq_e0At84hLfJj5JiT-kNnZTzw7cIbHHXpHb4zR3WZi5fkg85yJOFh73RF5kizIqEIjMM8OXakO6AWVHCg5fM6WAxmcRerXStoMjDswaprRJwkeKTTAjpxQQTYNC8tJ5XPW9yVdLUKqAN-XAPuEe4kWHA5Lpd5ZphQRjeVdzrCs7CClAUapgtUsmxsSYaWoqxnNd95qE_ncNNThFT2krdIuw67gBWux3vS3qCTQfaYFT9U83zSoKJ4GyVVwK5BEH3NGnZPUJumalqn7cBvvSSHMCmKLQ8_3RKMz9LMyD0AvHHmSMYY-5GXFDj7qYjsNwnP_Ky542J6YN9bdweBwGdivOQr4Ku-KifbNPor3iSpAiBwlzVhn0RSoo7M40F8pcMZbH3JwQiD-UUKgwfG8hIQ_yYqh1Z4QxhRvwJw0WXJw7hVBV5f3Siovv9CaLsXiOB8pcNV3SM0NQqgU_wVDXcFXu6lsbrB1Hy-nX5Dh7mi_i4_5lk0DX2LLqG-gas3QuCrijJOpdUPd3c4mO0Xq5mS-SLbj02bqHPBw-YS08g-eeR3LYrLf7m5MZl9NVbDraS7L77NQ1v6ddclzMV1-7PUAvY_ozcj_dfkn2u-N-3Z8b8Idw-Anba7J7nG6TGCLP-oZ6N2oUTaPH5FfEvyCnm02yio_P0XGbPBvow8M96LWjb7brf5JobxhAM-gF9GfdaGspK2WzN91Q0x3_G-cLLHZFY4yOc70ff9_utw_I78UzyCd-PvbHdKC5rthk9-_G1H9G-tZi-tDHN-pe9EHbVJP_faW5Ui1T8EKCER4OyolPMkzYCLvUT-Gak4J6oyIMSUjGMHeLQUVTVqkJ9H1o-QM-wS7GbuD6HvE9d-RQEpA0GGM2pozRAFuBy-C7VDlmY0c2p0Ez6Tik7UmBseJKqw8jVYqfoFXe4tNWl7KZwFWnvGGDju6k4_oTIGBPCA">