<!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/bfd49c8dcaeef60aa6ec5f3774d9a94c56d66ff2">bfd49c8d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:32:22-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/f6dd77d64ac481c7dbb51bb7296697f969e579ae">f6dd77d6</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2020-05-10T20:32:38-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/9e064973edac6d82d0748c5572d6ba2a02ffadd3">9e064973</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-05-10T20:32:39-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Avoid useless w/w split

This patch is just a tidy-up for the post-strictness-analysis
worker wrapper split.  Consider

   f x = x

Strictnesss analysis does not lead to a w/w split, so the
obvious thing is to leave it 100% alone.  But actually, because
the RHS is small, we ended up adding a StableUnfolding for it.

There is some reason to do this if we choose /not/ do to w/w
on the grounds that the function is small.  See
Note [Don't w/w inline small non-loop-breaker things]

But there is no reason if we would not have done w/w anyway.

This patch just moves the conditional to later.  Easy.
This does move soem -ddump-simpl printouts around a bit.

I also discovered that the previous code was overwritten an
InlineCompulsory with InlineStable, which is utterly wrong.  That in
turn meant that some default methods (marked InlineCompulsory)
were getting their InlineCompulsory squashed. This patch fixes
that bug --- but of course that does mean a bit more inlining!

Metric Decrease:
    T9233
    T9675
Metric Increase:
    T12707
    T3064
    T4029
    T9872b
    T9872d
    haddock.Cabal
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/cc9445e39f148027fa400ca05a9b3630f8c60a2b">cc9445e3</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:32:40-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/6e42decb1fdf470d2e2d5ab2d4f8748db61c29f2">6e42decb</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:32:40-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/71d99c90ab4c83451923ef2645e6eceabbc746eb">71d99c90</a></strong>
<div>
<span>by Simon Jakobi</span>
<i>at 2020-05-10T20:32:41-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/7e57d5edf2ec39771bd5a2f0a3f1b00a59a2809d">7e57d5ed</a></strong>
<div>
<span>by Baldur Blöndal</span>
<i>at 2020-05-10T20:32:43-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/19d1024b668a1988c6228789108c63c029745466">19d1024b</a></strong>
<div>
<span>by Emeka Nkurumeh</span>
<i>at 2020-05-10T20:32:45-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/951e10e129b5723e4b40e0f83427038fb76941cd">951e10e1</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-10T20:32:48-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/5fca6bcdbe3f8b2496b2d4a5fc331c6691c5e367">5fca6bcd</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-10T20:32:48-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/1ca53bf378e702a4e27ab1ef74be42a515a6b2b3">1ca53bf3</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-10T20:32:48-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/acfe00ef7b089cf3d2721ed25c4cf102c656fc3c">acfe00ef</a></strong>
<div>
<span>by Daniel Gröber</span>
<i>at 2020-05-10T20:32:49-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/b776404d318e3f8457988dc94432f499cc4c206b">b776404d</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-05-10T20:32:49-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve Note [The flattening story]
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b373a2d52afb584827acccf7ede8c64ebe61d728">b373a2d5</a></strong>
<div>
<span>by Artem Pelenitsyn</span>
<i>at 2020-05-10T20:32:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't reload environment files on every setSessionDynFlags

Makes `interpretPackageEnv` (which loads envirinment files) a part of
`parseDynamicFlags` (parsing command-line arguments, which is typically
done once) instead of `setSessionDynFlags` (which is typically called
several times). Making several (transitive) calls to `interpretPackageEnv`,
as before, caused #18125 #16318, which should be fixed now.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c1cb92cbd1f989f5879a307f3376bd5cf2ea7a21">c1cb92cb</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:32:53-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">GHC.Cmm.Opt: Handle MO_XX_Conv

This MachOp was introduced by 2c959a1894311e59cd2fd469c1967491c1e488f3
but a wildcard match in cmmMachOpFoldM hid the fact that it wasn't
handled. Ideally we would eliminate the match but this appears to be a
larger task.

Fixes #18141.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dc1708b58bf1ba26a9e70a5e4e735f993fb07c6c">dc1708b5</a></strong>
<div>
<span>by Hécate</span>
<i>at 2020-05-10T20:33:01-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">fix(documentation): Fix the RST links to GHC.Prim
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2fc92c0c7ecd7e4426242ee97792c6065d39e009">2fc92c0c</a></strong>
<div>
<span>by Baldur Blöndal</span>
<i>at 2020-05-10T20:33:07-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Document (->) using inferred quantification for its runtime representations.

Fixes #18142.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/00966e51216b9327aea22eefb3702a52bf5be546">00966e51</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2020-05-10T20:33:13-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Tweak man page for ghc command

This commit updates the ghc command's man page as followings:

* Enable `man_show_urls` to show URL addresses in the `DESCRIPTION`
section of ghc.rst, because sphinx currently removes hyperlinks
for man pages.

* Add a `SEE ALSO` section to point to the GHC homepage
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/662447289c9c80e4856be42dca063a40081c36ac">66244728</a></strong>
<div>
<span>by Takenobu Tani</span>
<i>at 2020-05-10T20:33:22-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">GHCi: Add link to the user's guide in help message

This commit adds a link to the user's guide in ghci's
`:help` message.

Newcomers could easily reach to details of ghci.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/13f900b26d77d8110ae64a226c2f6849b318dbd6">13f900b2</a></strong>
<div>
<span>by Jeff Happily</span>
<i>at 2020-05-10T20:33:26-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Handle single unused import
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6df1ceec5034ecfec58c119698305dc7ff6b9989">6df1ceec</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:33:27-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Ensure that printMinimalImports closes handle

Fixes #18166.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b2377822ce16622c84157595aecee0ac47403a68">b2377822</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:33:27-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/b1a4f3868b469cddb4bd198089b4075c184d9eb3">b1a4f386</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-05-10T20:33:28-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Tell testsuite driver about LLVM availability

This reflects the logic present in the Make build system into Hadrian.

Fixes #18167.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#d0d96a6d03668aeab20ebe05e2c4ccb798c7e64c">
compiler/GHC.hs
</a>
</li>
<li class="file-stats">
<a href="#8a5cd068459120cddf3814e7b9e02003b87647ba">
compiler/GHC/Builtin/Types/Prim.hs
</a>
</li>
<li class="file-stats">
<a href="#451725cc4e5d443a3b7c2adcdf224840f953b7e2">
compiler/GHC/Builtin/primops.txt.pp
</a>
</li>
<li class="file-stats">
<a href="#00c27365316e033b00cc3ed3854ac8714d25a2b5">
compiler/GHC/Cmm/Opt.hs
</a>
</li>
<li class="file-stats">
<a href="#783e5dae6e86931f06700fc088fb7d48c8a07386">
compiler/GHC/Core/Coercion.hs
</a>
</li>
<li class="file-stats">
<a href="#5b215b0e109123e4bef5434854f18e2f61c45b88">
compiler/GHC/Core/Opt/WorkWrap.hs
</a>
</li>
<li class="file-stats">
<a href="#578c7c3857d66d963736ff6742f3433a0e8d01b7">
compiler/GHC/Core/TyCo/Rep.hs
</a>
</li>
<li class="file-stats">
<a href="#84c9d3ba34173297e7d7747e02caa2e004b164fc">
compiler/GHC/Core/Type.hs
</a>
</li>
<li class="file-stats">
<a href="#2811a7297b8aa206197ac1f5dabd0818e3c7ec5a">
compiler/GHC/Core/Unfold.hs
</a>
</li>
<li class="file-stats">
<a href="#e05ee69330b0f7088f11a5f3567137547489664d">
compiler/GHC/Rename/Names.hs
</a>
</li>
<li class="file-stats">
<a href="#81707f1fe21087531cefd70879aa09c2be5c1d22">
compiler/GHC/Tc/Solver/Flatten.hs
</a>
</li>
<li class="file-stats">
<a href="#38110817cdbc9a34d2b80a14070cabc7515c808a">
compiler/GHC/Types/Id/Info.hs
</a>
</li>
<li class="file-stats">
<a href="#2c8c4ca2eac2ad8b108ae37fa1b91a9f7676ca1e">
docs/users_guide/conf.py
</a>
</li>
<li class="file-stats">
<a href="#cc5f1f10c766844d5e474090b7b9e75d4b0e0de5">
docs/users_guide/editing-guide.rst
</a>
</li>
<li class="file-stats">
<a href="#f1fb2cbc6312f41f6aac14d2046c24ce0c5cbea2">
docs/users_guide/exts/ffi.rst
</a>
</li>
<li class="file-stats">
<a href="#371a6fbdfe576b6a90fb252b0ef1a97c7488f006">
docs/users_guide/exts/primitives.rst
</a>
</li>
<li class="file-stats">
<a href="#5ee120ea99ad979194898146eabe4bf5a8fdc48d">
docs/users_guide/ghc.rst
</a>
</li>
<li class="file-stats">
<a href="#c30f4ac98f08779ad1bd5a02a27802862c1e9521">
ghc/GHCi/UI.hs
</a>
</li>
<li class="file-stats">
<a href="#acb22db8d0fa26a579b612416f02f6a519b4cb9b">
hadrian/src/Settings/Builders/RunTest.hs
</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>
</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/7578a90de2e3c2b3c1e81a54618afe0c26a218ee...b1a4f3868b469cddb4bd198089b4075c184d9eb3">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>