@maxhaton created dlang/dmd pull request #13791 "Fix Issue 22861 - build the compiler with PGO" fixing this issue:
- Fix Issue 22861 - build the compiler with PGO
This introduces a new target to build.d, dmd-pgo, which will build a dmd with PGO
instrumentation, then run either the phobos or dmd testsuite (both are present in the
source code, only the dmd one is set to run at the moment). This data is then merged,
at which point the data is used to build a release + LTO build of dmd.
This resulting build is significantly faster - on the order of 45% on some programs.
ENABLE_PGO=1 can be used to make the build script use the dmd-pgo by default, however
something more subtle may be required to make all dmd builds (i.e. releases)
fully pgo-ified
https://github.com/dlang/dmd/pull/13791
Comment #2 by dlang-bot — 2022-03-27T22:46:41Z
@maxhaton created dlang/dmd pull request #13898 "Fix Issue 22861 - build the compiler with PGO (Trying a different branch because of strange CI failure)" fixing this issue:
- Fix Issue 22861 - build the compiler with PGO
This introduces a new target to build.d, dmd-pgo, which will build a dmd with PGO
instrumentation, then run either the phobos or dmd testsuite (both are present in the
source code, only the dmd one is set to run at the moment). This data is then merged,
at which point the data is used to build a release + LTO build of dmd.
This resulting build is significantly faster - on the order of 45% on some programs.
Making the release scripts use the PGO build may require further changes.
https://github.com/dlang/dmd/pull/13898
Comment #3 by dlang-bot — 2022-03-27T23:21:56Z
@ibuclaw updated dlang/dmd pull request #13899 "[Ignore] Test CircleCI" fixing this issue:
- Fix Issue 22861 - build the compiler with PGO
This introduces a new target to build.d, dmd-pgo, which will build a dmd with PGO
instrumentation, then run either the phobos or dmd testsuite (both are present in the
source code, only the dmd one is set to run at the moment). This data is then merged,
at which point the data is used to build a release + LTO build of dmd.
This resulting build is significantly faster - on the order of 45% on some programs.
Making the release scripts use the PGO build may require further changes.
https://github.com/dlang/dmd/pull/13899
Comment #4 by dlang-bot — 2022-03-27T23:31:17Z
@ibuclaw created dlang/dmd pull request #13900 "Fix Issue 22861 - build the compiler with PGO" fixing this issue:
- Fix Issue 22861 - build the compiler with PGO
This introduces a new target to build.d, dmd-pgo, which will build a dmd with PGO
instrumentation, then run either the phobos or dmd testsuite (both are present in the
source code, only the dmd one is set to run at the moment). This data is then merged,
at which point the data is used to build a release + LTO build of dmd.
This resulting build is significantly faster - on the order of 45% on some programs.
Making the release scripts use the PGO build may require further changes.
https://github.com/dlang/dmd/pull/13900
Comment #5 by dlang-bot — 2022-03-28T00:44:01Z
dlang/dmd pull request #13900 "Fix Issue 22861 - build the compiler with PGO" was merged into master:
- e2a9fd614ecaa8fcc8df8daaabc42754c6d8d631 by Max Haughton:
Fix Issue 22861 - build the compiler with PGO
This introduces a new target to build.d, dmd-pgo, which will build a dmd with PGO
instrumentation, then run either the phobos or dmd testsuite (both are present in the
source code, only the dmd one is set to run at the moment). This data is then merged,
at which point the data is used to build a release + LTO build of dmd.
This resulting build is significantly faster - on the order of 45% on some programs.
Making the release scripts use the PGO build may require further changes.
https://github.com/dlang/dmd/pull/13900