[llvm] [LoopInterchange] Enable it by default (PR #124911)
Sjoerd Meijer via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 1 07:05:04 PDT 2025
sjoerdmeijer wrote:
> I tried some of the improvements I suggested earlier. Here are the results:
>
> https://llvm-compile-time-tracker.com/compare.php?from=7e830f76711f0dfc66780ea13cf780b8760b458b&to=c365bfe1f1c0e7fddb8245cb9ab3999ae30e44b5&stat=instructions%3Au
>
> At least the spike (e.g., over 20% in `CMakeFiles/lencod.dir/q_matrix.c.o`) has been mitigated. I'm not sure if this result is acceptable, and this might also fall under the kind of my own "completely arbitrary" opinion, but I think these improvements should land before enabling by default.
Of course, any improvements welcome. And if there's low hanging fruit, we should definitely go for it.
The only thing I disagreed with is the perception that there is a compile-time problem, and whether this should be blocking.
> > The concession I am willing to make is to enable this only with -O3.
>
> What do you think about disabling in ThinLTO? Based on the results above, the compile-time impact appears to be more significant within ThinLTO.
I would prefer of course to have it enabled there too. I think some increases with LTO is expected, because the optimisers see a lot more instructions, which is why I like to look at the bigger picture and the geomean. If we are going to have a similar discussion again later about LTO, it's going to be painful again and not sure anything is going to change. But maybe we check later, and if it really helps, we can disable ThinLTO for now.
https://github.com/llvm/llvm-project/pull/124911
More information about the llvm-commits
mailing list