[Bug 261977] lang/gcc12-devel: enable LTO

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 19 Apr 2022 21:22:58 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=261977

--- Comment #30 from Piotr Kubaj <pkubaj@FreeBSD.org> ---
This issue is quickly getting out of hand, I'll do the last fix to default to
LTO, but allow non LTO.

However, some remarks:
- LTO is NOT used only for stage 1. In fact, if it were used only for only
stage (like mat@ implied), then powerpc64 builds would be broken (because LTO
with LLVM is known to be broken on powerpc64). That is not the case, LTOized
GCC works fine on powerpc64, because -flto is only passed AFTER stage 1.
- comparison of bulk -a builds is just idiotic. How can you compare bulk -a
with LTOized GCC when nothing else depends on it? It just doesn't make sense at
all. Those -devel ports are only to serve as CI-like safety measure to make
sure the newest GCC snapshots build. They use LTO, because the current release
(lang/gcc11) also does, and I hope lang/gcc12 will as well.
- if you compare bulk -a builds with LTO for gcc*-devel ports, then we might as
well just drop -devel ports completely - build times will be lower. In fact,
they will be even lower if we drop all the gcc ports completely (along with the
required reverse dependencies).
- Regarding performance benchmarks for LTO - has anyone done that when -O2 was
introduced? This is one of the reasons why I hear things like "it's hard
introduce anything in FreeBSD, because many devs oppose it" and "I gave up
fighting it" (from one former portmgr@ people, who also did some ppc work).
- How is it that e.g. Ubuntu or OpenSUSE can afford to enforce LTO for their
own repo and we can't?

-- 
You are receiving this mail because:
You are on the CC list for the bug.