diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2022-05-06 15:17:11 +0100 |
---|---|---|
committer | GHC GitLab CI <ghc-ci@gitlab-haskell.org> | 2022-05-09 14:56:40 +0100 |
commit | 767f30fd24df8ed04d787093d68aab7ee09ba7f3 (patch) | |
tree | 1517c3393978ff3eaff954b90ec1b5c3f0cda537 | |
parent | 803f2a6e8ba2167e97141388d715c909cd07f6d3 (diff) | |
download | haskell-767f30fd24df8ed04d787093d68aab7ee09ba7f3.tar.gz |
packaging: Build perf builds with -split-sectionswip/split-sections
In 8f71d958 the make build system was made to use split-sections on
linux systems but it appears this logic never made it to hadrian.
There is the split_sections flavour transformer but this doesn't appear
to be used for perf builds on linux.
Closes #21135
-rw-r--r-- | hadrian/doc/flavours.md | 13 | ||||
-rw-r--r-- | hadrian/src/Settings/Flavours/Performance.hs | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/hadrian/doc/flavours.md b/hadrian/doc/flavours.md index d8a4efe7af..5f406364a8 100644 --- a/hadrian/doc/flavours.md +++ b/hadrian/doc/flavours.md @@ -15,6 +15,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH <table> <tr> <th rowspan="3">Flavour</th> + <th rowspan="3">Split Sections</th> <th colspan="8">Extra arguments</th> </tr> <tr> @@ -35,6 +36,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>default<br></td> + <td> </td> <td>-O<br>-H32m<br></td> <td>-O2<br>-H32m</td> <td></td> @@ -46,6 +48,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>quick</td> + <td> </td> <td>-O0<br>-H64m</td> <td>-O0<br>-H64m</td> <td></td> @@ -57,6 +60,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>quick-validate</td> + <td></td> <td>-O0<br>-H64m<br>-Werror</td> <td>-O0<br>-H64m<br>-Werror</td> <td></td> @@ -68,6 +72,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>quick-debug</td> + <td></td> <td>-O0<br>-H64m</td> <td>-O0<br>-H64m</td> <td></td> @@ -79,6 +84,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>quickest</td> + <td></td> <td>-O0<br>-H64m</td> <td>-O0<br>-H64m</td> <td></td> @@ -90,6 +96,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>perf</td> + <td> Yes (on supported platforms) </td> <td>-O<br>-H64m</td> <td>-O<br>-H64m</td> <td></td> @@ -101,6 +108,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>bench</td> + <td></td> <td>-O<br>-H64m</td> <td>-O<br>-H64m</td> <td></td> @@ -112,6 +120,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>devel1</td> + <td></td> <td>-O<br>-H64m</td> <td>-O<br>-H64m</td> <td></td> @@ -123,6 +132,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>devel2</td> + <td></td> <td>-O<br>-H64m</td> <td>-O<br>-H64m</td> <td></td> @@ -134,6 +144,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>validate</td> + <td></td> <td>-O0<br>-H64m</td> <td>-fllvm-fill-undef-with-garbage</td> <td></td> @@ -145,6 +156,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>slow-validate</td> + <td></td> <td>-O0<br>-H64m</td> <td>-fllvm-fill-undef-with-garbage</td> <td></td> @@ -156,6 +168,7 @@ when compiling the `compiler` library, and `hsGhc` when compiling/linking the GH </tr> <tr> <th>static</td> + <td></td> <td>-O<br>-H64m<br>-fPIC -static</td> <td>-O<br>-H64m<br>-fPIC -static</td> <td></td> diff --git a/hadrian/src/Settings/Flavours/Performance.hs b/hadrian/src/Settings/Flavours/Performance.hs index fc46920703..17fb22b6ec 100644 --- a/hadrian/src/Settings/Flavours/Performance.hs +++ b/hadrian/src/Settings/Flavours/Performance.hs @@ -6,7 +6,7 @@ import {-# SOURCE #-} Settings.Default -- Please update doc/flavours.md when changing this file. performanceFlavour :: Flavour -performanceFlavour = defaultFlavour +performanceFlavour = splitSections $ defaultFlavour { name = "perf" , args = defaultBuilderArgs <> performanceArgs <> defaultPackageArgs } |