<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>

<style data-premailer="ignore" type="text/css">
a { color: #1068bf; }
</style>


<style>img {
max-width: 100%; height: auto;
}
body {
font-size: 0.875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: inherit;
}
</style>
</head>
<body style='font-size: inherit; -webkit-text-shadow: rgba(255,255,255,0.01) 0 0 1px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Ubuntu, Cantarell, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";'>
<div class="content">

<h3 style="margin-top: 20px; margin-bottom: 10px;">
Ben Gamari pushed to branch wip/mp-backports-batch-2 at <a href="https://gitlab.haskell.org/ghc/ghc" style="color: #1068bf;">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fcdf9f9bb5127313db593b39c6587cf4ea90b967" style="color: #1068bf;">fcdf9f9b</a></strong>
<div>
<span> by Simon Peyton Jones </span> <i> at 2023-02-09T11:48:52-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Improve treatment of type applications in patterns

This patch fixes a subtle bug in the typechecking of type
applications in patterns, e.g.
   f (MkT @Int @a x y) = ...

See Note [Type applications in patterns] in GHC.Tc.Gen.Pat.

This fixes #19847, #22383, #19577, #21501

(cherry picked from commit 9f95db54e38b21782d058043abe42fd77abfb9ad)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bea77fc40ef11fbe2f0c2a0a3f2fdb74b445579a" style="color: #1068bf;">bea77fc4</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2023-02-09T12:05:36-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Fix some correctness issues around tag inference when targeting the bytecode generator.

* Let binders are now always assumed untagged for bytecode.
* Imported referenced are now always assumed to be untagged for bytecode.

Fixes #22840

(cherry picked from commit 382bd7dad9cd53254204f418190368667a127f64)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/31a9076972690dee126d5b4049430efa78db9738" style="color: #1068bf;">31a90769</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2023-02-09T12:05:56-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>driver: Use hooks from plugin_hsc_env

This fixes a bug in oneshot mode where hooks modified in a plugin
wouldn't be used in oneshot mode because we neglected to use the right
hsc_env. This was observed by @csabahruska.

(cherry picked from commit cc72e71298ce7e8ef7a2263a531f96d777db1800)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/11686fb4cb9c6d12032c46fc2864a660f8dede7a" style="color: #1068bf;">11686fb4</a></strong>
<div>
<span> by Aaron Allen </span> <i> at 2023-02-09T12:06:01-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>Rework plugin initialisation points

In general this patch pushes plugin initialisation points to earlier in
the pipeline. As plugins can modify the `HscEnv`, it's imperative that
the plugins are initialised as soon as possible and used thereafter.

For example, there are some new tests which modify hsc_logger and other
hooks which failed to fire before (and now do)

One consequence of this change is that the error for specifying the
usage of a HPT plugin from the command line has changed, because it's
now attempted to be loaded at initialisation rather than causing a
cyclic module import.

Closes #21279

Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com>
(cherry picked from commit c31e87bbb13c0139b75acd234fd48eeb40cf50af)
</pre>
</li>
<li>
<strong style="font-weight: bold;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/948448826d6913cdc133c33f054ef53485a47598" style="color: #1068bf;">94844882</a></strong>
<div>
<span> by Ben Gamari </span> <i> at 2023-02-09T12:06:40-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 0.8125rem; color: #303030; position: relative; font-family: "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; word-break: break-all; word-wrap: break-word; background-color: #fafafa; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dbdbdb;'>nativeGen/AArch64: Emit Atomic{Read,Write} inline

Previously the AtomicRead and AtomicWrite operations were emitted as
out-of-line calls. However, these tend to be very important for
performance, especially the RELAXED case (which only exists for
ThreadSanitizer checking).

Fixes #22115.

(cherry picked from commit 6e52fcb915baa1acb38ad2b1f313e8e6a89899f5)
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
30 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#6997a0cd37829d3d08db1c48185aaa3d7dfc3e6b" style="color: #1068bf;">
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#807babf5b215890881c92043bcd08486141a405c" style="color: #1068bf;">
compiler/GHC/CmmToAsm/AArch64/Instr.hs
</a>
</li>
<li class="file-stats">
<a href="#0c06b80d12937afa0db5ee9903e4d2be2f146d29" style="color: #1068bf;">
compiler/GHC/CmmToAsm/AArch64/Ppr.hs
</a>
</li>
<li class="file-stats">
<a href="#6fcf64907fb5bdd93082d2d1eb94e4566e735865" style="color: #1068bf;">
compiler/GHC/Core/DataCon.hs
</a>
</li>
<li class="file-stats">
<a href="#cb404696aed94bcd1548bf7c70f7a9bd58feffab" style="color: #1068bf;">
compiler/GHC/Driver/Config/Stg/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#1dab250036d04cfcf3530f6ff27889f723cc2dda" style="color: #1068bf;">
compiler/GHC/Driver/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#b8e6af642e56019828828dc679683c04afb81867" style="color: #1068bf;">
compiler/GHC/Driver/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#64e68d52c0898049455e20b0d001ffe1dd07ff83" style="color: #1068bf;">
compiler/GHC/Driver/Pipeline/Execute.hs
</a>
</li>
<li class="file-stats">
<a href="#f5bf08d06298fee515f928eacddd8f46477717d9" style="color: #1068bf;">
compiler/GHC/Runtime/Loader.hs
</a>
</li>
<li class="file-stats">
<a href="#7d90a9320eb9eef000085725b34bb266a8356953" style="color: #1068bf;">
compiler/GHC/Stg/InferTags.hs
</a>
</li>
<li class="file-stats">
<a href="#9ee818b4d99d21a43e6c7cb9f7e1a24922e5fe53" style="color: #1068bf;">
compiler/GHC/Stg/InferTags/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#6c6b170dad20b4eedb2e77f6777d30c062f9bcb1" style="color: #1068bf;">
compiler/GHC/Stg/Pipeline.hs
</a>
</li>
<li class="file-stats">
<a href="#3ee8be814b6c6727880deab3772e6af922524bf0" style="color: #1068bf;">
compiler/GHC/Tc/Gen/Pat.hs
</a>
</li>
<li class="file-stats">
<a href="#519f43ef6302b87fec67179ff5343fb9706e9748" style="color: #1068bf;">
ghc/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#856206d05a886510232c4e34cad7da290d05f4fc" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/gadt/T19847.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#93de22cf5c3c5afa5a0191c06f3d640d67fb199d" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/gadt/T19847a.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#79383f4f25c6cf3ac4a8cd271a1ba992bba032f2" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/gadt/T19847a.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#c68bb340f8f227ab4ac9922422ce0177433e1dfc" style="color: #1068bf;">
testsuite/tests/gadt/all.T
</a>
</li>
<li class="file-stats">
<a href="#2adf5bbfc798c2d682060f7e514e2417532c2eab" style="color: #1068bf;">
testsuite/tests/ghci/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#0f05347a081689dd671f549d132a6befea34241e" style="color: #1068bf;">
testsuite/tests/plugins/all.T
</a>
</li>
<li class="file-stats">
<a href="#388775ce3a6da05368a6daa8a0d385bfad014df0" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/plugins/hooks-plugin/Hooks/LogPlugin.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#343eaa93c19c1d57e3292cef887bbf27f48b8882" style="color: #1068bf;">
testsuite/tests/plugins/hooks-plugin/Hooks/Plugin.hs

testsuite/tests/plugins/hooks-plugin/Hooks/MetaPlugin.hs
</a>
</li>
<li class="file-stats">
<a href="#36a1c1daa54a68197d2a23751cd706f07b24032c" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/plugins/hooks-plugin/Hooks/PhasePlugin.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#8b811cb2ed8523ee3a9c96ab94dd83e30990689f" style="color: #1068bf;">
testsuite/tests/plugins/hooks-plugin/hooks-plugin.cabal
</a>
</li>
<li class="file-stats">
<a href="#ceadbc4e0693301182963b34996da6de6e435a6b" style="color: #1068bf;">
testsuite/tests/plugins/plugins04.stderr
</a>
</li>
<li class="file-stats">
<a href="#29c3b38070d09b84626801d4baf9cf8b1b3ed25f" style="color: #1068bf;">
testsuite/tests/plugins/test-hooks-plugin.hs
</a>
</li>
<li class="file-stats">
<a href="#0b509483e13aaf5472fbd272dd20279d546a9043" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/plugins/test-log-hooks-plugin.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#92e2423527dfde2186707be60a8100a9849d262b" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/plugins/test-log-hooks-plugin.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#c0caa4ff6e147a315291d43a1f3d1c85a8ea2290" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/plugins/test-phase-hooks-plugin.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#603ad10df944eb0354061f392ca3febc1d74cebd" style="color: #1068bf;">
<span class="new-file">
+
testsuite/tests/plugins/test-phase-hooks-plugin.stderr
</span>
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: 0.875rem;">
The diff was not included because it is too large.
</h5>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #666;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/5809d9d7ba1845abdaede9bd8ad978026940359f...948448826d6913cdc133c33f054ef53485a47598" style="color: #1068bf;">View it on GitLab</a>.
<br>
You're receiving this email because of your account on <a target="_blank" rel="noopener noreferrer" href="https://gitlab.haskell.org" style="color: #1068bf;">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link" style="color: #1068bf;">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link" style="color: #1068bf;">Help</a>



</p>
</div>
</body>
</html>