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

    <tr>
        <th>Summary</th>
        <td>
            3 x Compile time regression with Clang-17 on LLVM-git - not seen when using Clang-15
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Hi, the build time of my LLVM-17-git package increased dramatically during the past several weeks with the same compile flags and config options used, but only when using Clang-17 as compiler. 

When using (a super optimized LTO+PGO+BOLTed) Clang-15 to compile LLVM-17-git, the build takes around 1h 10min, but if I use my not as optimized system's Clang-17 (651b4054a019cb681bb879e31a01054a3105ea90), it just took 3h 36 min. That's more than three times slower! Recently, I have observed similar bad compile times when using an older LTO+PGO+BOLTed LLVM-17 build of mine (19f74c911246e6bd13acdfbbd69c58ebdd79012d) to compile LLVM-git. Some weeks ago, however, the same LTO+PGO+BOLTed LLVM-17 build used to work just as fast as the Clang-15 compiler on LLVM-git, but now it does not.

The only difference between using the fast Clang-15 and slow Clang-17, is that I use a PGO-file when using Clang-17 that is not compatible with the older Clang version.

CPU: Xeon E5-2696V3 (Haswell-EP)
RAM: 64 GB DDR3-ECC 1866

[PKGBUILD.txt](https://github.com/llvm/llvm-project/files/11063074/PKGBUILD.txt)

```
export CC=clang
export CXX=clang++
export CC_LD=lld
export CXX_LD=lld
export AR=llvm-ar
export NM=llvm-nm
export STRIP=llvm-strip
export OBJCOPY=llvm-objcopy
export OBJDUMP=llvm-objdump
export READELF=llvm-readelf
export RANLIB=llvm-ranlib
export HOSTCC=clang
export HOSTCXX=clang++
export HOSTAR=llvm-ar
export CPPFLAGS="-D_FORTIFY_SOURCE=0"
export CFLAGS="-O3 -march=native -mtune=native -mllvm -inline-threshold=1000 -maes -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -mllvm -enable-interleaved-mem-accesses -mllvm -enable-masked-interleaved-mem-accesses -fno-math-errno -fno-trapping-math -falign-functions=32 -fno-semantic-interposition -fcf-protection=none -mharden-sls=none -fomit-frame-pointer -mprefer-vector-width=256 -flto -fprofile-instr-use=/home/marcus/Downloads/llvm17.profdata"
export CXXFLAGS="${CFLAGS}"
export LDFLAGS="-Wl,--lto-O3,-O3,-Bsymbolic-functions,--as-needed -mllvm -extra-vectorizer-passes -mllvm -enable-cond-stores-vec -mllvm -slp-vectorize-hor-store -mllvm -enable-loopinterchange -mllvm -enable-loop-distribute -mllvm -enable-unroll-and-jam -mllvm -enable-loop-flatten -mllvm -interleave-small-loop-scalar-reduction -mllvm -unroll-runtime-multi-exit -mllvm -aggressive-ext-opt -mllvm -enable-interleaved-mem-accesses -mllvm -enable-masked-interleaved-mem-accesses -march=native -maes -flto -fuse-ld=lld -Wl,-zmax-page-size=0x200000 -fprofile-instr-use=/home/marcus/Downloads/llvm17.profdata"
CCLDFLAGS="$LDFLAGS"
CXXLDFLAGS="$LDFLAGS"
export ASFLAGS="-D__AVX__=1 -D__AVX2__=1 -msse2avx -D__FMA__=1"
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsV81u4zgSfhr6QtCQKFu2Dz7YVtydXWdsJOmezCkoiSWLHYoUSMpO-ukXlH9ipzMzWGAPexjAkELWV_8fSww4J7cacUqGczLMetD6ythp7eLRuJcb8Tb9KglfUF8hzVupBPWyRmpKWr_R1er7HYtHbCs9baB4gS1SqQuL4FBQYaEGLwtQ6o2K1kq97cw04Dx1uEMLiu4RXxzdS191Mgc10sLUjVRISwVbR0ELWhhdyi01jZdGO9o6FCGovPXUaPVG9xVq2rrgYaFAb1k8ouBOhmyfkigj0ezw_P0dTPgYqGsbtJ3tWv5EQVePa8Lnmy_hOV-vHoOvycnukHpzDvAi_w81ghd0FKxptaBxReOolvoUsSzpbUghVFAbHwJ9d-7enMea8JF7z4TwcTqM80E0HEAUT4o8Hcd5Ph5NMIkhisN2EkdDhElE-CS4kZ7-aJ2n3pgXmlQ0SWktdZ8-VuA727WxSH0FmvrKInZNddQps0dLeEzvsUDt1Vswdksr2CE1uUO7CyHKWiqwNAdxrsRB_6INoKlRAu0n1TyV7VirQCWpMWQZT8rRoJjEMR-kmOYiTqAQZZ6LdFIMx5gLMZpEMe_68bENW-n79MHUeKQUbE0IvjL7wLRTezp-_W1IgV_Bwd7Yl0MhwdESDu9g5kyGE8Oo0ecwTn3WZh8aIQy60Of-JQcfKzwwV8iyRIu6QJqj3-O5gMFN5_LsKxyE0KEzMbpOh4DAHxkFdPNlzcpQlM-ORIeUXTRd5OBlHqCn03foWAenO7ROGn0V9WLzjSQz-oRG05sh4-kk_Z6Exn0Ft0el2M0mELDD3s_uAjYd0C9zmmX3CbtZLGg8TtNLi2Q43_z7y_zb7Srr-1dPhhnh48r7xpFkRviS8OVW-qrN-4WpCV8qtTu9WGPNDyw84cuQsCN8GcdRmkSjAeHLK6unmI7PNDr-uiW-NsZ6uliQJCtC6tfbT0_nfT4Pv2ul51VGkkwp8VHrc8Hsvtvc1QzsleC3u5NA11eCh8f7281J5ryVzZV4Pf_XYr354wQw-Y_CNG8fIdm3u80FRLT1tZX7m1l2s1qeIBZBoCqvIbPfVrfzMwK0kvkV4Ov64fFPitiJ_rKQAfGntVlsNsvV7MsDSTLCOcuel-v7x9vlH88P62_3ixuSZBHh_FrlUmGdUFaDLSqSZBq83CFltW81Xq6DY8qkVlIjC0PRVUYJkmRxFEVBH90Zha_eAtth4Y2VP9GyBpy7lGvIFbLCaMGcNxZdAJ_FTjXvyqwy9gD6qK6MaaT2aIsK9PZTMRMyUCJv_S_iVlujFAMt2A-oP1UuFXiP-iJ5j1Yh7JC5GpQ6oFwBCiyzKNoifH7P8KMH2-ow_VndKi8Zvkp_RsB2a9E5ucNQMmYa_zGOd5eC1VgzKAr8rJQ1uBcUfwEvtWE1-Iqhtdoc1t5C00i97QSUlaDkVrOy1V0ejiRZwg9IhzVoL4uDg8Y4eci0LMowZjx2GoEuRodKV2AFauaUO--VppaelRZqZI3p7FBWNxZLtMdus70UPpCQD1PKSuVDnI01YXwxqZ23rHXYkXZZmRoJXwbatmG0ZWavlQHhjtMvHvWDpgAPv3D_6emC_YQPyGh-PA-j7CN4lV2elN8V4QvGlDdsnYQ_D8-5e6tzo2RxUbyAA8c0okDxz8n4_z0Zv0y-bpId2dc6ZN2UU0rQY_t_1vDKGtgic_JnoGP0yqOom4L_S7YuFlfcI3xwWp8RT09_Bzl9Vh-uPxDPs-9Pz89heNPjip-WtXPIYffaCZZ3s8P-2eD5ctAT00RMkgn0cBqno0majtN03KumBc8nAFDwZJQM8uEwHcaD8WAYRxOI4mFS9OSURzyJEj6IB8loMO5P-ABQJDBGTIsBjMkgwhqk6ofS9I3d9qRzLU7TOB0PegpyVK77f4xzjXvaCUOAw6xnp90HMm-3jgwiJZ1371a89AqnCX2li4trObV44JrRh5ve-Tp4cWelrLsUunD__PXmOOy1Vk3_62tZF3igQJfYfwIAAP__s2S8ZA">