diff --git a/hadrian/src/Flavour.hs b/hadrian/src/Flavour.hs
index dba86219527c4803a384209c26105d31c5273917..dd203ea88ef9d372d9948fff3c4be8f5479ce4d7 100644
--- a/hadrian/src/Flavour.hs
+++ b/hadrian/src/Flavour.hs
@@ -4,7 +4,7 @@ module Flavour
     -- * Flavour transformers
   , addArgs
   , splitSections, splitSectionsIf
-  , enableDebugInfo
+  , enableDebugInfo, enableTickyGhc
   ) where
 
 import Expression
@@ -80,6 +80,17 @@ enableDebugInfo = addArgs $ mconcat
     , builder (Cc CompileC) ? notStage0 ? arg "-g3"
     ]
 
+-- | Enable the ticky-ticky profiler in stage2 GHC
+enableTickyGhc :: Flavour -> Flavour
+enableTickyGhc =
+    addArgs $ foldMap enableTickyFor [ghc, compiler, base]
+  where
+    enableTickyFor pkg = stage1 ? package pkg ? mconcat
+      [ builder (Ghc CompileHs) ? ticky
+      , builder (Ghc LinkHs) ? ticky
+      ]
+    ticky = arg "-ticky" <> arg "-ticky-allocd"
+
 -- | Transform the input 'Flavour' so as to build with
 --   @-split-sections@ whenever appropriate. You can
 --   select which package gets built with split sections