RFR: 8345265: Minor improvements for LTO across all compilers [v2]
Julian Waters
jwaters at openjdk.org
Fri Jan 17 08:55:39 UTC 2025
On Tue, 17 Dec 2024 14:54:03 GMT, Julian Waters <jwaters at openjdk.org> wrote:
>> This is a general cleanup and improvement of LTO, as well as a quick fix to remove a workaround in the Makefiles that disabled LTO for g1ParScanThreadState.cpp due to the old poisoning mechanism causing trouble. The -Wno-attribute-warning change here can be removed once Kim's new poisoning solution is integrated.
>>
>> - -fno-omit-frame-pointer is added to gcc to stop the linker from emitting code without the frame pointer
>> - -flto is set to $(JOBS) instead of auto to better match what the user requested
>> - -Gy is passed to the Microsoft compiler. This does not fully fix LTO under Microsoft, but prevents warnings about -LTCG:INCREMENTAL at least
>
> Julian Waters has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 12 additional commits since the last revision:
>
> - Merge branch 'openjdk:master' into patch-16
> - -fno-omit-frame-pointer in JvmFeatures.gmk
> - Revert compilerWarnings_gcc.hpp
> - General LTO fixes JvmFeatures.gmk
> - Revert DISABLE_POISONING_STOPGAP compilerWarnings_gcc.hpp
> - Merge branch 'openjdk:master' into patch-16
> - Revert os.cpp
> - Fix memory leak in jvmciEnv.cpp
> - Stopgap fix in os.cpp
> - Declaration fix in compilerWarnings_gcc.hpp
> - ... and 2 more: https://git.openjdk.org/jdk/compare/133b1009...9d05cb8e
That's great news that the JVM can run with LTO enabled! (Well, even if only briefly) I think not doing LTO for gtest is fine, since it's a test suite and not the product itself. I think it would be cleaner to cut out the LTO flags rather than pass -fno-lto to gtest however. Out of curiosity, does gtest fail to compile on Linux or Windows for you? Even with LTO active, 100% of it compiles on my end, under Windows/gcc
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22464#issuecomment-2597730525
More information about the build-dev
mailing list