From d654fa80bc6a8b0ebe0a351b3e3835a21c9f314e Mon Sep 17 00:00:00 2001
From: Matthew Pickering <matthewtpickering@gmail.com>
Date: Fri, 21 Jul 2023 12:08:59 +0100
Subject: [PATCH] packaging: Enable late-ccs for perf (and hence release)
 flavours

This enables late cost centres when building profiled libraries and
subsequently greatly improves the resolution of cost centre stacks when
profiling.

Fixes #21732
---
 hadrian/src/Flavour.hs                       | 1 +
 hadrian/src/Settings/Flavours/Performance.hs | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index 3aabd263ce9e..22ed5e643cd7 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -7,6 +7,7 @@ module Flavour
   , addArgs
   , splitSections
   , enableThreadSanitizer
+  , enableLateCCS
   , enableDebugInfo, enableTickyGhc
   , viaLlvmBackend
   , enableProfiledGhc
diff --git a/hadrian/src/Settings/Flavours/Performance.hs b/hadrian/src/Settings/Flavours/Performance.hs
index b6af25711b4d..328c4cd7cc79 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 = splitSections $ defaultFlavour
+performanceFlavour = enableLateCCS $ splitSections $ defaultFlavour
     { name = "perf"
     , extraArgs = performanceArgs <> defaultHaddockExtraArgs }
 
-- 
GitLab