@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
@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
@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
@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
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