<!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>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
Marge Bot pushed to branch wip/marge_bot_batch_merge_job
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a09add85cde0c3a7f1dd5178b68cd67ac5587618">a09add85</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:30-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/CNF: Fix fixup comparison function
Previously we would implicitly convert the difference between two words
to an int, resulting in an integer overflow on 64-bit machines.
Fixes #16992
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/131d388f8667b289e0720c5399f87bc6b37a2e81">131d388f</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2020-05-12T02:38:33-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Pack some of IdInfo fields into a bit field
This reduces residency of compiler quite a bit on some programs.
Example stats when building T10370:
Before:
2,871,242,832 bytes allocated in the heap
4,693,328,008 bytes copied during GC
33,941,448 bytes maximum residency (276 sample(s))
375,976 bytes maximum slop
83 MiB total memory in use (0 MB lost due to fragmentation)
After:
2,858,897,344 bytes allocated in the heap
4,629,255,440 bytes copied during GC
32,616,624 bytes maximum residency (278 sample(s))
314,400 bytes maximum slop
80 MiB total memory in use (0 MB lost due to fragmentation)
So -3.9% residency, -1.3% bytes copied and -0.4% allocations.
Fixes #17497
Metric Decrease:
T9233
T9675
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1d2aaa2e0383ae0d2d10f1eff60346ce4723ac31">1d2aaa2e</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:34-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">get-win32-tarballs: Fix base URL
Revert a change previously made for testing purposes.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bd136bb748f73706061cefa1507f61be374f6e76">bd136bb7</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:34-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">get-win32-tarballs: Improve diagnostics output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/156f801bd36a557c3a1df8f03a556ec65548be2d">156f801b</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2020-05-12T02:38:35-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">docs: Add examples for Data.Semigroup.Arg{Min,Max}
Context: #17153
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9f0bc0fa7915e6753527a130c7ae6b83848c91f0">9f0bc0fa</a></strong>
<div>
<span>by Baldur Blöndal</span>
<i>at 2020-05-12T02:38:37-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Predicate, Equivalence derive via `.. -> a -> All'
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/80263d69231b389e6e6250beaa5bb5fe68ace369">80263d69</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:38-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add few cleanups of the CAF logic
Give the NameSet of non-CAFfy names a proper newtype to distinguish it
from all of the other NameSets floating about.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/da42dc1d88fbe0493e2c3342542f2ca2fe9f5002">da42dc1d</a></strong>
<div>
<span>by Emeka Nkurumeh</span>
<i>at 2020-05-12T02:38:40-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">fix printf warning when using with ghc with clang on mingw</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0855c9280da21b7b7ef9a5c4453d5124b914d46c">0855c928</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-12T02:38:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix non power-of-two Storable.alignment in Capi_Ctype tests
Alignments passed to alloca and friends must be a power of two for the code
in allocatePinned to work properly. Commit 41230e2601 ("Zero out pinned
block alignment slop when profiling") introduced an ASSERT for this but
this test was still violating it.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/392cc02c2ebee135eb3707de7470e258a0f930b1">392cc02c</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-12T02:38:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve ByteArray# documentation regarding alignment
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/edaec729ecac18f0aa2b47e984a698c051476e90">edaec729</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-12T02:38:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Document word-size rounding of ByteArray# memory (Fix #14731)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c1e4d284ba548d2326644165b3dbff4ae9fca971">c1e4d284</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-12T02:38:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Throw IOError when allocaBytesAligned gets non-power-of-two align
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/80614bd8a3535428d4f041f476c591720732e22b">80614bd8</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-05-12T02:38:42-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">CprAnal: Don't attach CPR sigs to expandable bindings (#18154)
Instead, look through expandable unfoldings in `cprTransform`.
See the new Note [CPR for expandable unfoldings]:
```
Long static data structures (whether top-level or not) like
xs = x1 : xs1
xs1 = x2 : xs2
xs2 = x3 : xs3
should not get CPR signatures, because they
* Never get WW'd, so their CPR signature should be irrelevant after analysis
(in fact the signature might even be harmful for that reason)
* Would need to be inlined/expanded to see their constructed product
* Recording CPR on them blows up interface file sizes and is redundant with
their unfolding. In case of Nested CPR, this blow-up can be quadratic!
But we can't just stop giving DataCon application bindings the CPR property,
for example
fac 0 = 1
fac n = n * fac (n-1)
fac certainly has the CPR property and should be WW'd! But FloatOut will
transform the first clause to
lvl = 1
fac 0 = lvl
If lvl doesn't have the CPR property, fac won't either. But lvl doesn't have a
CPR signature to extrapolate into a CPR transformer ('cprTransform'). So
instead we keep on cprAnal'ing through *expandable* unfoldings for these arity
0 bindings via 'cprExpandUnfolding_maybe'.
In practice, GHC generates a lot of (nested) TyCon and KindRep bindings, one
for each data declaration. It's wasteful to attach CPR signatures to each of
them (and intractable in case of Nested CPR).
```
Fixes #18154.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5888e85ae027847bb00b3db8e1f694b86284f685">5888e85a</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">users-guide: Add discussion of shared object naming
Fixes #18074.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b9f092dd079973087da27988358ffd7e53e6d474">b9f092dd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Print sign of performance changes
Executes the minor formatting change in the tabulated performance
changes suggested in #18135.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/16abaa9bd9ec4e9ac12b431a05173febdc303eac">16abaa9b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-12T02:38:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Add testcase for #18129
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8c19b8d0b68c1f7d05fdf3ccd53d00e0916d0d8b">8c19b8d0</a></strong>
<div>
<span>by Ivan-Yudin</span>
<i>at 2020-05-12T02:38:45-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">doc: Reformulate the opening paragraph of Ch. 4 in User's guide
Removes mentioning of Hugs
(it is not helpful for new users anymore).
Changes the wording for the rest of the paragraph.
Fixes #18132.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#451725cc4e5d443a3b7c2adcdf224840f953b7e2">
compiler/GHC/Builtin/primops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#2d3721ad8de95e1144493ca545db846672cb109f">
compiler/GHC/Cmm/Info/Build.hs
</a>
</li>
<li class="file-stats">
<a href="#c1bf6b849619bc8d7ef37a97d993dbfaa9966f7b">
compiler/GHC/Core/Opt/CprAnal.hs
</a>
</li>
<li class="file-stats">
<a href="#9a679a2680ef6061397f1987091ea9f96ffe095d">
compiler/GHC/Driver/Main.hs
</a>
</li>
<li class="file-stats">
<a href="#4ed0dc87b8bdd9324e8a181cff15caa104b9e58c">
compiler/GHC/Iface/Make.hs
</a>
</li>
<li class="file-stats">
<a href="#398f893c8efbc00ed9543b8f4d18493ae33e4398">
compiler/GHC/Iface/UpdateCafInfos.hs
</a>
</li>
<li class="file-stats">
<a href="#38110817cdbc9a34d2b80a14070cabc7515c808a">
compiler/GHC/Types/Id/Info.hs
</a>
</li>
<li class="file-stats">
<a href="#c3e8a1868c9af8f291e62e09fe23f1202937fd12">
compiler/GHC/Types/Name/Set.hs
</a>
</li>
<li class="file-stats">
<a href="#b02c1c6109c60b8f685234b0dbaabf6c79fed2a2">
docs/users_guide/ghci.rst
</a>
</li>
<li class="file-stats">
<a href="#6c41cb96bda32ca92759d69ad995b56ee7737db4">
docs/users_guide/packages.rst
</a>
</li>
<li class="file-stats">
<a href="#12f1226bde7e9f48203d34d8d857513f2f1f4d75">
docs/users_guide/phases.rst
</a>
</li>
<li class="file-stats">
<a href="#cfb2658c27ecdada5559e656cafebb418e1eeccb">
includes/rts/Messages.h
</a>
</li>
<li class="file-stats">
<a href="#981c552f9985d1ad638a2a41841595e04a25e37f">
libraries/base/Data/Functor/Contravariant.hs
</a>
</li>
<li class="file-stats">
<a href="#c4f017fa9974a726de9e40cc73a72967c443cef4">
libraries/base/Data/Semigroup.hs
</a>
</li>
<li class="file-stats">
<a href="#bdefba21b6f0d308fad9eca21ed6fc6b6e453542">
libraries/base/Foreign/Marshal/Alloc.hs
</a>
</li>
<li class="file-stats">
<a href="#801887e8211812e4173f2338aeac17aba8a16d84">
libraries/base/Foreign/Storable.hs
</a>
</li>
<li class="file-stats">
<a href="#392e9dfd3417e267d708c5ab16536f2994d43745">
libraries/base/changelog.md
</a>
</li>
<li class="file-stats">
<a href="#7d52a0d7f6cc47777a2112b358ad80dea9078a76">
<span class="new-file">
+
libraries/ghc-compact/tests/T16992.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#c9772e1df1f55ce60ad9cc09320da1c6bbe4d913">
<span class="new-file">
+
libraries/ghc-compact/tests/T16992.stdout
</span>
</a>
</li>
<li class="file-stats">
<a href="#d8df9f361ffd907f41fa597e5b0638c73e9843ae">
libraries/ghc-compact/tests/all.T
</a>
</li>
<li class="file-stats">
<a href="#bc834195e4823f7e840b7c240979911422878816">
mk/get-win32-tarballs.py
</a>
</li>
<li class="file-stats">
<a href="#84507939a4554de9c515fb6ece9c30b5178af638">
rts/sm/CNF.c
</a>
</li>
<li class="file-stats">
<a href="#326e115e015c04db679ca1d9dbc1092906bef3a6">
testsuite/driver/runtests.py
</a>
</li>
<li class="file-stats">
<a href="#b771b95ac3237f52ac99759ddf6a986cd7765581">
testsuite/tests/ffi/should_run/Capi_Ctype_001.hsc
</a>
</li>
<li class="file-stats">
<a href="#8491c6e8a1c852e9e615a9ace3c08198c6cb47eb">
testsuite/tests/ffi/should_run/Capi_Ctype_A_001.hsc
</a>
</li>
<li class="file-stats">
<a href="#65b5e5874d2f2073580d0f2f2510a4aa7ce35a86">
testsuite/tests/ffi/should_run/Capi_Ctype_A_002.hsc
</a>
</li>
<li class="file-stats">
<a href="#73459bdd68c8a1d83dd2fc05500d4d379b541a3d">
testsuite/tests/numeric/should_compile/T14170.stdout
</a>
</li>
<li class="file-stats">
<a href="#68981928c0d335390bba962b95dc1104a8881d05">
testsuite/tests/numeric/should_compile/T14465.stdout
</a>
</li>
<li class="file-stats">
<a href="#e6a25af732cafed9cd91b716ddbdb29b303bd865">
testsuite/tests/numeric/should_compile/T7116.stdout
</a>
</li>
<li class="file-stats">
<a href="#6e2ce964ea02e92c2202946150700a3219beed86">
testsuite/tests/simplCore/should_compile/T13143.stderr
</a>
</li>
</ul>
<h5>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: #777;">
—
<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/9e4bca9fb1d556cbc553aae5a6fb81b896fe8d11...8c19b8d0b68c1f7d05fdf3ccd53d00e0916d0d8b">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
</p>
</div>
</body>
</html>