Weird FUD by Phoronix about LTO builds since Mesa is apparently turning off their LTO builds due to "impossible to reproduce bugs that only happen in LTO builds". I'd like to get other people's take, but I'm assuming what's actually happening is that like with -O1 vs -O3, optimizing across translation units is exposing latent UB bugs (or much less likely, latent compiler bugs not directly related to LTO), and it's not that the LTO pass itself is buggy.
@pervognsen Except for Emscripten (which has its own kind of LTO bugs), almost all bugs that I have seen exposed by LTO were actually UB in the first place (for GCC/Clang/MSVC).
-O3 tends to expose similar bugs, however -O3 also tends to expose actual compiler bugs, and I have seen a fair share of those. I suspect they would also affect LTO, but for me, -O3 has mostly been enough to trigger the actual compiler bugs.
I think I have seen 1 actual MSVC bug that only triggered with LTCG/LTO.