D issues are now tracked on GitHub. This Bugzilla instance remains as a read-only archive.
Issue 22861 - Build the compiler with PGO
Summary: Build the compiler with PGO
Status: RESOLVED FIXED
Alias: None
Product: D
Classification: Unclassified
Component: dmd (show other issues)
Version: D2
Hardware: All All
: P1 enhancement
Assignee: No Owner
URL:
Keywords: pull
Depends on:
Blocks:
 
Reported: 2022-03-09 02:21 UTC by mhh
Modified: 2022-03-28 00:44 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description mhh 2022-03-09 02:21:52 UTC

    
Comment 1 Dlang Bot 2022-03-09 21:48:24 UTC
@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 Dlang Bot 2022-03-27 22:46:41 UTC
@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 Dlang Bot 2022-03-27 23:21:56 UTC
@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 Dlang Bot 2022-03-27 23:31:17 UTC
@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 Dlang Bot 2022-03-28 00:44:01 UTC
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