<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en" style='--code-editor-font: var(--default-mono-font, "GitLab Mono"), JetBrains Mono, Menlo, DejaVu Sans Mono, Liberation Mono, Consolas, Ubuntu Mono, Courier New, andale mono, lucida console, monospace;'>
<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: .875rem;
}
body {
-webkit-text-shadow: rgba(255,255,255,.01) 0 0 1px;
}
body {
font-family: "GitLab Sans",-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,.01) 0 0 1px; font-family: "GitLab Sans",-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;">
Patrick pushed to branch wip/T25647 at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
Commits:
</h4>
<ul>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a510b861e2ed8efac74a00e1a9a3ad74e416612f">a510b861</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-06T11:43:23+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add flag to control whether self-recompilation information is written to interface
This patch adds the flag -fwrite-if-self-recomp which controls whether
interface files contain the information necessary to answer the
question:
Do I need to recompile myself or is this current interface file
suitable?
Why? Most packages are only built once either by a distribution or cabal
and then placed into an immutable store, after which we will never ask
this question. Therefore we can derive two benefits from omitting this
information.
* Primary motivation: It vastly reduces the surface area for creating
non-deterministic interface files. See issue #10424 which motivated a
proper fix to that issue. Distributions have long contained versions
of GHC which just have broken self-recompilation checking (in order to
get deterministic interface files).
* Secondary motivation: This reduces the size of interface files
slightly.. the `mi_usages` field can be quite big but probably this
isn't such a great benefit.
* Third motivation: Conceptually clarity about which parts of an
interface file are used in order to **communicate** with subsequent
packages about the **interface** for a module. And which parts are
used to self-communicate during recompilation checking.
The main tracking issue is #22188 but fixes issues such as #10424 in a
proper way.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5b05c27bf186e66edc4fbf4a54943c8bd04f5024">5b05c27b</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-06T11:43:23+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Disable self recomp in release flavour
The interface files that we distribute should not contain any
information which is used by the recompilation checking logic since
source file will never be compiled again.
I am not 100% sure this won't cause unexpected issues, there many be
downstream consumers which are incorrectly using the information from
interfaces, but this commit can be reverted if we detect issues.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1d4c9824bb3cb4b16cbab786021aad1576a65d7e">1d4c9824</a></strong>
<div>
<span> by Matthew Craven </span> <i> at 2025-03-06T18:11:59-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Cmm: Add surface syntax for Word/Float bitcast ops
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/25c4a2a236060232c929bf7f039f5f59d108f869">25c4a2a2</a></strong>
<div>
<span> by Matthew Craven </span> <i> at 2025-03-06T18:11:59-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Cmm: Add constant-folding for Word->Float bitcasts
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/30bdea67fcd9755619b1f513d199f2122591b28e">30bdea67</a></strong>
<div>
<span> by Matthew Craven </span> <i> at 2025-03-06T18:11:59-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Add tests for #25771
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/44bf5fa13ddccacd9d91650fca6eb1dcf3f4cfb6">44bf5fa1</a></strong>
<div>
<span> by Matthew Pickering </span> <i> at 2025-03-07T13:48:18+00:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>iface: Store flags in interface files
When reporting the reason why a module is recompiled (using
`-dump-hi-diffs`), it is much more informative to inform the user about
which flag exactly has changed, rather than just an opaque reference to
a hash.
Now, when the user enables `-fwrite-if-self-recomp-flags`
there is a difference the precise part of the flags is
reported:
```
codegen flags changed:
before: [Opt_NoTypeableBinds, Opt_OmitYields]
after: [Opt_NoTypeableBinds, Opt_OmitYields, Opt_DictsStrict]
```
Fixes #25571
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/324222bd2d67af2131f5355cb220584bd499295f">324222bd</a></strong>
<div>
<span> by Oleg Grenrus </span> <i> at 2025-03-08T08:50:18-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Run fix-whitespace on compiler/
https://hackage.haskell.org/package/fix-whitespace
IMO this should be included into lint suite
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1e53277af36d3f0b6ad5491f70ffc5593a49dcfd">1e53277a</a></strong>
<div>
<span> by sheaf </span> <i> at 2025-03-08T16:32:25-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Allow defaulting of representational equalities
This commit generalises the defaulting of equality constraints that
was introduced in 663daf8d (with follow-up in 6863503c) to allow
the defaulting of *representational* equality constraints.
Now we default a representational equality
ty1 ~R# ty2
by unifying ty1 ~# ty2.
This allows the following defaulting to take place:
- Coercible alpha[tau] Int ==> alpha := Int
- Coercible (IO beta[tau]) (IO Char) ==> beta := Char
See Note [Defaulting representational equalities] in GHC.Tc.Solver.Default
for more details.
Fixes #21003
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d6c40afc24314aa604ccd326a198c5df262c6878">d6c40afc</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2025-03-08T16:33:02-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Revert "Use `Infinite` in unique generation, and clean up some other partial uni patterns as well."
This reverts commit 643dd3d86968c527ba07ece9cc337728dbdfe2a0.
As described in #25817 this commit introduced a subtle bug in AArch64
code generation. So for the time being I will simply revert it
wholesale.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/68310e1184dfb7e8fad4dba4ba19930005ac5282">68310e11</a></strong>
<div>
<span> by Andreas Klebinger </span> <i> at 2025-03-08T16:33:39-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Properly describe acceptance window for stat tests.
The relative metric is already in %, so no need to multiply by 100.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cca68421831d0b5aadb82a649921188e343094e0">cca68421</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-03-08T22:04:42-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>wasm: do not use wasm type reflection in dyld
The wasm dynamic linker used to depend on v8's experimental wasm type
reflection support to generate stub functions when treating GOT.func
items that aren't exported by any loaded library yet. However, as we
work towards wasm ghci browser mode (#25399), we need to ensure the
wasm dyld logic is portable across browsers. So this commit removes
the usage of wasm type reflection in wasm dyld, and it shall only be
added many months later when this feature is widely available in
browsers.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/75fcc5c9ab900cb80834802c581283681cf8c398">75fcc5c9</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-03-08T22:05:19-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>wasm: don't create a wasm global for dyld poison
There's a much more efficient way to convert an unsigned i32 to a
signed one. Thanks, o3-mini-high.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fd40eaa17c6ce8716ec2eacc95beae194a935352">fd40eaa1</a></strong>
<div>
<span> by Cheng Shao </span> <i> at 2025-03-08T22:05:19-05:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>wasm: revamp JSFFI internal implementation and documentation
This patch revamps the wasm backend's JSFFI internal implementation
and documentation:
- `JSValManager` logic to allocate a key is simplified to simple
bumping. According to experiments with all major browsers, the
internal `Map` would overflow the heap much earlier before we really
exhaust the 32-bit key space, so there's no point in the extra
complexity.
- `freeJSVal` is now idempotent and safe to call more than once. This
is achieved by attaching the `StablePtr#` to the `JSVal#` closure
and nullifying it when calling `freeJSVal`, so the same stable
pointer cannot be double freed.
- `mkWeakJSVal` no longer exposes the internal `Weak#` pointer and
always creates a new `Weak#` on the fly. Otherwise by finalizing
that `Weak#`, user could accidentally drop the `JSVal`, but
`mkWeakJSVal` is only supposed to create a `Weak` that observes the
`JSVal`'s liveliness without actually interfering it.
- `PromisePendingException` is no longer exported since it's never
meant to be caught by user code; it's a severe bug if it's actually
raised at runtime.
- Everything exported by user-facing `GHC.Wasm.Prim` now has proper
haddock documentation.
- Note [JSVal representation for wasm] has been updated to reflect the
new JSVal# memory layout.
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e792e4086b058ed6d6a29b7f7c6e6d4822285051">e792e408</a></strong>
<div>
<span> by Patrick </span> <i> at 2025-03-10T20:20:15+08:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>add note and comment
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/34ee6003b77daf20d12eec0269beb22b20e40687">34ee6003</a></strong>
<div>
<span> by Patrick </span> <i> at 2025-03-10T20:20:26+08:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>Merge branch 'master' into wip/T25647
</pre>
</li>
<li>
<strong style="font-weight: 600;"><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6b38aefcc753b846be43b59490864f9785571c0a">6b38aefc</a></strong>
<div>
<span> by Patrick </span> <i> at 2025-03-11T03:22:24+08:00 </i>
</div>
<pre class="commit-message" style='white-space: pre-wrap; display: block; font-size: 14px; color: #3a383f; position: relative; font-family: "GitLab Mono", "JetBrains Mono", "Menlo", "DejaVu Sans Mono", "Liberation Mono", "Consolas", "Ubuntu Mono", "Courier New", "andale mono", "lucida console", monospace; font-variant-ligatures: none; word-break: break-all; word-wrap: break-word; background-color: #fbfafd; border-radius: 2px; margin: 0; padding: 8px 12px; border: 1px solid #dcdcde;'>refactor
</pre>
</li>
</ul>
<h4 style="margin-top: 10px; margin-bottom: 10px;">
122 changed files:
</h4>
<ul>
<li class="file-stats">
<a href="#d0d96a6d03668aeab20ebe05e2c4ccb798c7e64c">
compiler/GHC.hs
</a>
</li>
<li class="file-stats">
<a href="#d088ba20f051734394bf7ca283f33ed8127bc8ab">
compiler/GHC/Cmm/CallConv.hs
</a>
</li>
<li class="file-stats">
<a href="#95111d27913460e138e20c87f610b61c3745ab2b">
compiler/GHC/Cmm/Liveness.hs
</a>
</li>
<li class="file-stats">
<a href="#00c27365316e033b00cc3ed3854ac8714d25a2b5">
compiler/GHC/Cmm/Opt.hs
</a>
</li>
<li class="file-stats">
<a href="#71e696f452eb493722d70306c6f304fc9b2f6a95">
compiler/GHC/Cmm/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#194e2602b82bb08fd31c3028aace1da113aae36f">
compiler/GHC/Cmm/ThreadSanitizer.hs
</a>
</li>
<li class="file-stats">
<a href="#6997a0cd37829d3d08db1c48185aaa3d7dfc3e6b">
compiler/GHC/CmmToAsm/AArch64/CodeGen.hs
</a>
</li>
<li class="file-stats">
<a href="#e7e32ef13a93a68891f700047f89c45df0e3772d">
compiler/GHC/CmmToAsm/Reg/Linear/Base.hs
</a>
</li>
<li class="file-stats">
<a href="#522ba674004d5ebf69a7ec80b0d7c765e08b60cc">
compiler/GHC/CmmToAsm/X86/RegInfo.hs
</a>
</li>
<li class="file-stats">
<a href="#e9dcf226ea260581a815d3eaff0049e11529205c">
compiler/GHC/Core/LateCC/TopLevelBinds.hs
</a>
</li>
<li class="file-stats">
<a href="#10d6a143c5922c88b5e2fe481d2af0fdafa25ee8">
compiler/GHC/Core/Opt/CallerCC/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#cc763cdd1967f5d921161a32f64136cfcf0332c5">
compiler/GHC/Core/Opt/SetLevels.hs
</a>
</li>
<li class="file-stats">
<a href="#48fbb5cdea308650de5756521feb28ec68819b9b">
compiler/GHC/Core/Opt/Simplify/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#f4421b4e35592648510c877ecf55b1af2b96dcee">
compiler/GHC/Core/Opt/WorkWrap/Utils.hs
</a>
</li>
<li class="file-stats">
<a href="#708fab0a51bd47227233eda4698e750ff6de66e0">
compiler/GHC/Core/Subst.hs
</a>
</li>
<li class="file-stats">
<a href="#4aad0050db1a8a20db8bbca149111de99cb299c9">
compiler/GHC/Core/TyCon.hs
</a>
</li>
<li class="file-stats">
<a href="#28df9b7ff357d56663fd29efdad1c6b9bad3022f">
compiler/GHC/Data/BooleanFormula.hs
</a>
</li>
<li class="file-stats">
<a href="#937a39dca562f090f912637f78379d3c3b2eeb73">
compiler/GHC/Data/Graph/Color.hs
</a>
</li>
<li class="file-stats">
<a href="#e65e7bbfc24f8830a20082bfc50f6d16e613cbeb">
compiler/GHC/Driver/DynFlags.hs
</a>
</li>
<li class="file-stats">
<a href="#2e5692f568fd7b67a6b172e2a60469da8392508c">
compiler/GHC/Driver/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#ecdb2d2d2744d52a895137204611a2e94a95c77c">
<span class="new-file">
+
compiler/GHC/Driver/IncludeSpecs.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#9a679a2680ef6061397f1987091ea9f96ffe095d">
compiler/GHC/Driver/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#1dab250036d04cfcf3530f6ff27889f723cc2dda">
compiler/GHC/Driver/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#774d88050336ef660c7a219fb06c480c2fc639bc">
compiler/GHC/Driver/Session.hs
</a>
</li>
<li class="file-stats">
<a href="#9d5e079d485f99a5b74aa1ca1bc3c06bc1d24b6f">
compiler/GHC/Hs/Specificity.hs
</a>
</li>
<li class="file-stats">
<a href="#018be522bc4813b147a1525e4f96a7a493207d96">
compiler/GHC/Hs/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#dd79b5199bc3b425c4536c633b39006df111a7ef">
compiler/GHC/HsToCore.hs
</a>
</li>
<li class="file-stats">
<a href="#3c19c0be465f9a28d7b69f89c55648080fcc37eb">
compiler/GHC/HsToCore/Quote.hs
</a>
</li>
<li class="file-stats">
<a href="#9f11c1c113f11a416be9e556904531050cbb5b2e">
compiler/GHC/Iface/Binary.hs
</a>
</li>
<li class="file-stats">
<a href="#12fae53271ab8929046115ab04711a1075fef5bf">
compiler/GHC/Iface/Env.hs
</a>
</li>
<li class="file-stats">
<a href="#649144a78135a23cabfc90dd83c4aabf448eb6ab">
compiler/GHC/Iface/Ext/Ast.hs
</a>
</li>
<li class="file-stats">
<a href="#a00b0a383a15a3aeb7ae6278f994741de0be7d1b">
<span class="new-file">
+
compiler/GHC/Iface/Flags.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#7d51edda4fa76a202cce0bca672ef300249ba8ea">
compiler/GHC/Iface/Load.hs
</a>
</li>
<li class="file-stats">
<a href="#4ed0dc87b8bdd9324e8a181cff15caa104b9e58c">
compiler/GHC/Iface/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#a8e6b17fc507589522323d8dd20d9713e8c06760">
compiler/GHC/Iface/Recomp.hs
</a>
</li>
<li class="file-stats">
<a href="#0b4bc77723e1f22f50d70e89a81f6d92c3904408">
compiler/GHC/Iface/Recomp/Flags.hs
</a>
</li>
<li class="file-stats">
<a href="#564e9a65da41b9a1a621e054ef5ddf8a487d3a97">
<span class="new-file">
+
compiler/GHC/Iface/Recomp/Types.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#06ff7bac58fd8cfe0c17b81963b03f4cce86a065">
compiler/GHC/IfaceToCore.hs
</a>
</li>
<li class="file-stats">
<a href="#f838e6469f8338f571c738aef74bcfade5c55385">
compiler/GHC/JS/Opt/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#376629173e8363c8ea56574c5b4c363c168a3f4d">
compiler/GHC/JS/Opt/Simple.hs
</a>
</li>
<li class="file-stats">
<a href="#446cb12ca6cefaf1c6eb79b7db643632744263c7">
compiler/GHC/Parser/PostProcess.hs
</a>
</li>
<li class="file-stats">
<a href="#5d4c55e1c5331edcc6048718fd9fc96a66c0b3ac">
compiler/GHC/Platform/LoongArch64.hs
</a>
</li>
<li class="file-stats">
<a href="#892acbb198a9095c917740d3c1297b56df4e3b7e">
compiler/GHC/Rename/HsType.hs
</a>
</li>
<li class="file-stats">
<a href="#7dd1cd0f6f2164a14c83d9aa564dd32bc30e447a">
compiler/GHC/Rename/Module.hs
</a>
</li>
<li class="file-stats">
<a href="#173c7eb846a4e9b5fee79688a72cbf6a326e4e1e">
compiler/GHC/Runtime/Eval.hs
</a>
</li>
<li class="file-stats">
<a href="#4675150d494f381e32f32e7b58c494b88e8d2584">
compiler/GHC/Stg/Unarise.hs
</a>
</li>
<li class="file-stats">
<a href="#704aa1faa076735c264245ca9b0390bbdcb91340">
compiler/GHC/StgToCmm/TagCheck.hs
</a>
</li>
<li class="file-stats">
<a href="#62e5fd382d9730853d0cbcec70620f1065b107cf">
compiler/GHC/Tc/Errors/Hole/FitTypes.hs
</a>
</li>
<li class="file-stats">
<a href="#9c7b412076a93d32443a64179d2d4b96de2102b6">
compiler/GHC/Tc/Errors/Hole/Plugin.hs
</a>
</li>
<li class="file-stats">
<a href="#9355bef855426caf5f526925edf351b20f9a86c4">
compiler/GHC/Tc/Gen/HsType.hs
</a>
</li>
<li class="file-stats">
<a href="#eade747fa0a15693c67617629e286714fce958e4">
compiler/GHC/Tc/Gen/Sig.hs
</a>
</li>
<li class="file-stats">
<a href="#aebe2c3d616f6843166d2657bed048898add6bc9">
compiler/GHC/Tc/Instance/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#54436e21ea530a66a8a71bcc01c836f4740b8f02">
compiler/GHC/Tc/Solver.hs
</a>
</li>
<li class="file-stats">
<a href="#8bc716c15e34e2a77fef39fd4634b3ebbb9961f8">
compiler/GHC/Tc/Solver/Default.hs
</a>
</li>
<li class="file-stats">
<a href="#60f69bb5bc0ef8edf7d13518a1e48f7d36236318">
compiler/GHC/Tc/Solver/Dict.hs
</a>
</li>
<li class="file-stats">
<a href="#03ec4f8741105271af29a61fdb47c8feba9bbcfa">
compiler/GHC/Tc/Solver/Equality.hs
</a>
</li>
<li class="file-stats">
<a href="#0c6b585a8a21f8340a85ca2cef89c4b1bf5a8953">
compiler/GHC/Tc/Solver/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#ab8ab088292736c35c38fa55bdaec8ddcbf20b32">
compiler/GHC/Tc/Solver/Solve.hs
</a>
</li>
<li class="file-stats">
<a href="#83d23a46bb6cdc8b1edc16f1fd2c8f5c53e2c9ca">
compiler/GHC/Tc/TyCl.hs
</a>
</li>
<li class="file-stats">
<a href="#dd8bbe6a21866e4f574f4796b7ad19de17564072">
compiler/GHC/Tc/TyCl/Class.hs
</a>
</li>
<li class="file-stats">
<a href="#e63425e031ffe9350ee6b1687e506aaea75d11e1">
compiler/GHC/Tc/TyCl/Instance.hs
</a>
</li>
<li class="file-stats">
<a href="#e992d995f48b7936e5df8b723c44ce8380a0d33a">
compiler/GHC/Tc/Types/LclEnv.hs
</a>
</li>
<li class="file-stats">
<a href="#e3ee113a30786383e543984d9cd1250e4b478bbb">
compiler/GHC/Tc/Types/TcRef.hs
</a>
</li>
<li class="file-stats">
<a href="#c6e4263ee64c68e57b7525127d98243fce38b1ea">
compiler/GHC/Tc/Utils/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#94c96afe1bb3b771ffbcfeeca34ce43ebbe76ccb">
compiler/GHC/Tc/Utils/TcMType.hs
</a>
</li>
<li class="file-stats">
<a href="#5461e7beeb7ae73d7c01f720cbaa3fa2c5333590">
compiler/GHC/Tc/Utils/TcType.hs
</a>
</li>
<li class="file-stats">
<a href="#74295edeac870ee7f2f3484ebaffab5c948b735a">
compiler/GHC/Tc/Utils/Unify.hs
</a>
</li>
<li class="file-stats">
<a href="#20aaf8344f379f354fe31dd0c1c4db4ddc5b17aa">
compiler/GHC/Types/Id.hs
</a>
</li>
<li class="file-stats">
<a href="#8422a23d78e2470bc2f58d923525570a7c7385e9">
compiler/GHC/Types/PkgQual.hs
</a>
</li>
<li class="file-stats">
<a href="#d3c30a6dfc850fb7e77ffd18a745022b4a400159">
compiler/GHC/Types/ProfAuto.hs
</a>
</li>
<li class="file-stats">
<a href="#02aa178643ef349f1cd6e2ddd9df6b8b62b64996">
compiler/GHC/Types/SafeHaskell.hs
</a>
</li>
<li class="file-stats">
<a href="#2bae0d519d760f314844ebdda9c45a5c5a70459d">
compiler/GHC/Types/SptEntry.hs
</a>
</li>
<li class="file-stats">
<a href="#598aebb67cf4996e7c7414ec0bef247e3b5e0d73">
compiler/GHC/Types/Unique/Supply.hs
</a>
</li>
<li class="file-stats">
<a href="#1b2e538eb480e4eb902f34efbe20581ec112e3c0">
compiler/GHC/Unit/Module/ModGuts.hs
</a>
</li>
<li class="file-stats">
<a href="#1b4da42c16b46d6c6cc2c2962072b1e91f519f4a">
compiler/GHC/Unit/Module/ModIface.hs
</a>
</li>
<li class="file-stats">
<a href="#ebf96e1abb10086e9249278068f22ce3a1f92ea7">
compiler/GHC/Utils/Unique.hs
</a>
</li>
<li class="file-stats">
<a href="#ef5ad6f4dfc8fa107eace213eecba4bc1014ca57">
compiler/Language/Haskell/Syntax/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#0f33fd88c617246c7f89c4477d2d1d24f942df23">
compiler/ghc.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#3000f72e31f633a1742a9c76be14862281166b11">
docs/users_guide/9.14.1-notes.rst
</a>
</li>
<li class="file-stats">
<a href="#12f1226bde7e9f48203d34d8d857513f2f1f4d75">
docs/users_guide/phases.rst
</a>
</li>
<li class="file-stats">
<a href="#f326be1cfd2ea1d4e6c641020338d0aac9e70f88">
docs/users_guide/wasm.rst
</a>
</li>
<li class="file-stats">
<a href="#65d0ee7bb66a1370d9f336158f48ffb0bfb27693">
hadrian/doc/flavours.md
</a>
</li>
<li class="file-stats">
<a href="#1655041cfd1add79e4c335c656405ee3eb3bd0dd">
hadrian/src/Flavour.hs
</a>
</li>
<li class="file-stats">
<a href="#c77aefa7847d865ad607ebbc83b11d101d50e453">
hadrian/src/Settings/Flavours/Release.hs
</a>
</li>
<li class="file-stats">
<a href="#82b5a034883a3ede9540d6423738da627660f860">
libraries/ghc-experimental/src/GHC/Wasm/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#989dbe630f04d9c8310a12e892dfab97e5b0ee99">
libraries/ghc-internal/src/GHC/Internal/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#d43ae8a495a3b516ba2b592dc97255fa5de6a4c0">
libraries/ghc-internal/src/GHC/Internal/Wasm/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#51fa0eacc0d5b41b4bb7e9c9a7bf6fad2ad9dfe1">
libraries/ghc-internal/src/GHC/Internal/Wasm/Prim/Exports.hs
</a>
</li>
<li class="file-stats">
<a href="#46105b5d35a73aa4dd25f6daa93671a7f88642c1">
libraries/ghc-internal/src/GHC/Internal/Wasm/Prim/Flag.hs
</a>
</li>
<li class="file-stats">
<a href="#03654085b556c3453ef191d194b2ab0c41bc5562">
libraries/ghc-internal/src/GHC/Internal/Wasm/Prim/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#1ac438b4f08a26b00d040b669f685e08489ea14e">
rts/wasm/JSFFI.c
</a>
</li>
<li class="file-stats">
<a href="#866516d84eab5d28365210988ec072f360ab0991">
rts/wasm/jsval.cmm
</a>
</li>
<li class="file-stats">
<a href="#6e9e255267780d64d50e2445aee2360e1269dcf1">
testsuite/driver/perf_notes.py
</a>
</li>
<li class="file-stats">
<a href="#acad8c4d0e09243254bc153600c2c042fbf1f5d8">
<span class="new-file">
+
testsuite/tests/cmm/opt/T25771.cmm
</span>
</a>
</li>
<li class="file-stats">
<a href="#180740b0e821922f90a7c6f944437dffe74d42f8">
<span class="new-file">
+
testsuite/tests/cmm/opt/T25771.stderr
</span>
</a>
</li>
<li class="file-stats">
<a href="#40db7feb1282e4891cfcfca3a986778333c81855">
testsuite/tests/cmm/opt/all.T
</a>
</li>
<li class="file-stats">
<a href="#b9bba9766faf563ab195fb1402f14fa78ad5c66f">
testsuite/tests/codeGen/should_run/all.T
</a>
</li>
<li class="file-stats">
<a href="#f227a38797c18ee429e783e5132ca39e5a4cc7e7">
testsuite/tests/count-deps/CountDepsAst.stdout
</a>
</li>
<li class="file-stats">
<a href="#2dcdf7aadcff5b41822596f22b49b2851374d0cd">
testsuite/tests/count-deps/CountDepsParser.stdout
</a>
</li>
<li class="file-stats">
<a href="#419ffcab539ade110584db1bce889c4181d8d357">
testsuite/tests/default/default-fail08.hs
</a>
</li>
<li class="file-stats">
<a href="#3555e7a5a552fbd395c3592ab94714a90b9a4e59">
testsuite/tests/default/default-fail08.stderr
</a>
</li>
<li class="file-stats">
<a href="#9ac2f6e8ea3ee49cd6245f2853df3ef9116e1e49">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/Makefile
</span>
</a>
</li>
<li class="file-stats">
<a href="#273609a0534323ce14674619efcd7679eaf4067f">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/SelfRecomp01.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#6a913537cca93f1d9d1496bab7450b7247498303">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/SelfRecomp02.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#7888811a3b46a2d57b4ba98a845426ea7dd7919c">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/SelfRecomp03.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#251f2a45cc6ce11a143b81c09313b9c9737b9909">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/SelfRecomp04.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#ad9a073336c8bb4c494966257fd496eb6d15c21a">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/SelfRecomp04.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#7683c7db428fb58d755de69d30189998691adb43">
<span class="new-file">
+
testsuite/tests/driver/self-recomp/all.T
</span>
</a>
</li>
<li class="file-stats">
<a href="#223c80c4b048b2c2b385ba76e66fa8595f24b2db">
testsuite/tests/indexed-types/should_compile/T25611d.hs
</a>
</li>
<li class="file-stats">
<a href="#a2b7cae4aec791aa039150be608dbfa0c1dcf25e">
testsuite/tests/jsffi/jsffigc.hs
</a>
</li>
<li class="file-stats">
<a href="#b7de5a9206cba33cb82f6e98e639531301f35162">
testsuite/tests/rep-poly/T14561b.stderr
</a>
</li>
<li class="file-stats">
<a href="#8c6fd4006a4655f5801463f4e67d66c57096e557">
testsuite/tests/rep-poly/UnliftedNewtypesCoerceFail.stderr
</a>
</li>
<li class="file-stats">
<a href="#533d2ca033b11fdd8966bd6fa70000696ccbf48e">
<span class="new-file">
+
testsuite/tests/typecheck/should_compile/T21003.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#34fe7bf0e6fbf60effb28393399ba68666593909">
testsuite/tests/typecheck/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#9b80a707bf1845683ca19b803d6e41d9b3db2532">
testsuite/tests/typecheck/should_fail/T10495.hs
</a>
</li>
<li class="file-stats">
<a href="#790e43b820edfe677e4c72aec325fd081d9062fd">
testsuite/tests/typecheck/should_fail/T10495.stderr
</a>
</li>
<li class="file-stats">
<a href="#c5662bedafa6a48ec7062b131d94b70f514207d9">
utils/check-exact/ExactPrint.hs
</a>
</li>
<li class="file-stats">
<a href="#cb92c0da89f4484c35cb51446517efc852c873f6">
utils/haddock/haddock-api/src/Haddock/Convert.hs
</a>
</li>
<li class="file-stats">
<a href="#47431656008a8a76a307d7241eb1e403599e0d87">
utils/haddock/haddock-api/src/Haddock/GhcUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#40c8e31ea57a3820afaa253b1bc8c6c268605ec6">
utils/haddock/haddock-api/src/Haddock/Interface/Rename.hs
</a>
</li>
<li class="file-stats">
<a href="#878239b741b4ae28066212456e912ca742627d80">
utils/jsffi/dyld.mjs
</a>
</li>
<li class="file-stats">
<a href="#02824488e4f0bd2ab51866af8f60e0abe8295367">
utils/jsffi/prelude.mjs
</a>
</li>
</ul>
<h5 style="margin-top: 10px; margin-bottom: 10px; font-size: .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: #626168;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/b791749b6284f22c85df91bc55ed914d6bd2c00c...6b38aefcc753b846be43b59490864f9785571c0a">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">gitlab.haskell.org</a>. <a href="https://gitlab.haskell.org/-/profile/notifications" target="_blank" rel="noopener noreferrer" class="mng-notif-link">Manage all notifications</a> · <a href="https://gitlab.haskell.org/help" target="_blank" rel="noopener noreferrer" class="help-link">Help</a>
</p>
</div>
</body>
</html>