From c2a6c3eb380891eb44d30529f0b9f8f6debf31c9 Mon Sep 17 00:00:00 2001
From: Sebastian Graf <sebastian.graf@kit.edu>
Date: Mon, 3 Jan 2022 18:30:58 +0100
Subject: [PATCH] release notes: Changes to Demand analysis

---
 docs/users_guide/9.4.1-notes.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/users_guide/9.4.1-notes.rst b/docs/users_guide/9.4.1-notes.rst
index 1ca1b17eaa1e..5cb2736547f6 100644
--- a/docs/users_guide/9.4.1-notes.rst
+++ b/docs/users_guide/9.4.1-notes.rst
@@ -54,6 +54,17 @@ Compiler
   evaluate both with a bang pattern or a ``seq``, but the ``return $! <res>``
   idiom should work more reliably and needs less thinking.
 
+- Demand analysis (cf. :ghc-flag:`-fstrictness`) now integrates a
+  Boxity Analysis that tracks whether a function needs a parameter boxed. If
+  that is the case, the worker/wrapper transformation (cf.
+  :ghc-flag:`-fworker-wrapper`) will not unbox that parameter, leading to less
+  reboxing in many cases.
+
+  For reasons of backwards-compatible performance, you may find that the new
+  mechanism is too aggressive in a few cases (e.g., still unboxing a parameter
+  that is used boxed in a hot path). Do post a bug report with your example!
+  Then wrap the uses of the parameter in ``GHC.Exts.lazy`` for a short-term fix.
+
 ``base`` library
 ~~~~~~~~~~~~~~~~
 
-- 
GitLab