<!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 master
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/15d2340cb9dc833adb87784e6de86dba235290f7">15d2340c</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-10-14T18:06:48-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix some missed opportunities for preInlineUnconditionally

There are two signficant changes here:

* Ticket #18815 showed that we were missing some opportunities for
  preInlineUnconditionally.  The one-line fix is in the code for
  GHC.Core.Opt.Simplify.Utils.preInlineUnconditionally, which now
  switches off only for INLINE pragmas.  I expanded
  Note [Stable unfoldings and preInlineUnconditionally] to explain.

* When doing this I discovered a way in which preInlineUnconditionally
  was occasionally /too/ eager.  It's all explained in
  Note [Occurrences in stable unfoldings] in GHC.Core.Opt.OccurAnal,
  and the one-line change adding markAllMany to occAnalUnfolding.

I also got confused about what NoUserInline meant, so I've renamed
it to NoUserInlinePrag, and changed its pretty-printing slightly.
That led to soem error messate wibbling, and touches quite a few
files, but there is no change in functionality.

I did a nofib run.  As expected, no significant changes.

        Program           Size    Allocs
----------------------------------------
         sphere          -0.0%     -0.4%
----------------------------------------
            Min          -0.0%     -0.4%
            Max          -0.0%     +0.0%
 Geometric Mean          -0.0%     -0.0%

I'm allowing a max-residency increase for T10370, which seems
very irreproducible. (See comments on !4241.)  There is always
sampling error for max-residency measurements; and in any case
the change shows up on some platforms but not others.

Metric Increase:
    T10370
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#bac3d5159a5688007de3aa3f5c4e50569677b347">
compiler/GHC/Core/Opt/OccurAnal.hs
</a>
</li>
<li class="file-stats">
<a href="#f168a93cde5e2aec2441d6331dfe500172df4af3">
compiler/GHC/Core/Opt/Simplify.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="#ab22d7ae4d245581b701367e386d7e886e416e76">
compiler/GHC/Core/Opt/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#5b215b0e109123e4bef5434854f18e2f61c45b88">
compiler/GHC/Core/Opt/WorkWrap.hs
</a>
</li>
<li class="file-stats">
<a href="#65ca06d51797ebf672a62bde6c00bcb9444e1425">
compiler/GHC/Hs/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#65e2067fbb7377818b6cadff0531f44029499948">
compiler/GHC/HsToCore/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#3c19c0be465f9a28d7b69f89c55648080fcc37eb">
compiler/GHC/HsToCore/Quote.hs
</a>
</li>
<li class="file-stats">
<a href="#bf951467d4a9aa443cb109cb4c84a2891945649b">
compiler/GHC/Parser.y
</a>
</li>
<li class="file-stats">
<a href="#2eac51f9871ca0c0698aa1fc7f79c05ef8fc4a49">
compiler/GHC/ThToHs.hs
</a>
</li>
<li class="file-stats">
<a href="#166e3514d27c63ef7e86af29830d9e8b2a31c8b1">
compiler/GHC/Types/Basic.hs
</a>
</li>
<li class="file-stats">
<a href="#f35faa85de2e0a75cdaa452eb7336a09c677d450">
compiler/GHC/Utils/Binary.hs
</a>
</li>
<li class="file-stats">
<a href="#0e552c88e6ad6dda61e457558d769f9f7fc08caa">
testsuite/tests/roles/should_compile/Roles1.stderr
</a>
</li>
<li class="file-stats">
<a href="#c5d8728cba431493a7f9249d50fa059478ebeedd">
testsuite/tests/roles/should_compile/Roles14.stderr
</a>
</li>
<li class="file-stats">
<a href="#41639098249315c642bf184008c3cd0451a669fa">
testsuite/tests/roles/should_compile/Roles2.stderr
</a>
</li>
<li class="file-stats">
<a href="#abbf4fb3aa1f761971354189e6537b8113d2e6ce">
testsuite/tests/roles/should_compile/Roles3.stderr
</a>
</li>
<li class="file-stats">
<a href="#9f6dfb765b6863e5abfa795af35b9d5712639a5e">
testsuite/tests/roles/should_compile/Roles4.stderr
</a>
</li>
<li class="file-stats">
<a href="#ea5c6f85b1fed60ee6ee6de85ef4d558e1112fd5">
testsuite/tests/roles/should_compile/T8958.stderr
</a>
</li>
<li class="file-stats">
<a href="#11ca6c36a465280185664c54bed1de3cf206b723">
testsuite/tests/simplCore/should_compile/Makefile
</a>
</li>
<li class="file-stats">
<a href="#6e2ce964ea02e92c2202946150700a3219beed86">
testsuite/tests/simplCore/should_compile/T13143.stderr
</a>
</li>
<li class="file-stats">
<a href="#550f4dfdf628fd28f289e5d2fff4815730dde895">
<span class="new-file">
+
testsuite/tests/simplCore/should_compile/T18815.hs
</span>
</a>
</li>
<li class="file-stats">
<a href="#240f515f83d0d2bd4f3fd8627a432213afbc9d16">
testsuite/tests/simplCore/should_compile/T3717.stderr
</a>
</li>
<li class="file-stats">
<a href="#ae44213f400f8badeaf992dd66c7c6bfd26ffd60">
testsuite/tests/simplCore/should_compile/T3772.stdout
</a>
</li>
<li class="file-stats">
<a href="#4f7d2e4c54691e357987d9c38d83118a9835128f">
testsuite/tests/simplCore/should_compile/T4908.stderr
</a>
</li>
<li class="file-stats">
<a href="#9b7fb90328b6862556fa185afce25159a399f92f">
testsuite/tests/simplCore/should_compile/T4930.stderr
</a>
</li>
<li class="file-stats">
<a href="#0e264f20bcb9f21ef8f19196ea35fb751107dd1f">
testsuite/tests/simplCore/should_compile/T7360.stderr
</a>
</li>
<li class="file-stats">
<a href="#e9ed289bdfe6bcb0204e76be84b2f377004a5d3d">
testsuite/tests/simplCore/should_compile/T7865.stdout
</a>
</li>
<li class="file-stats">
<a href="#fc07c260b75644727a8cdc1af5c861a44d4bfb5e">
testsuite/tests/simplCore/should_compile/all.T
</a>
</li>
<li class="file-stats">
<a href="#03eb593d40c337853d812520636bc537250cb93a">
testsuite/tests/simplCore/should_compile/spec-inline.stderr
</a>
</li>
<li class="file-stats">
<a href="#e41a22deeb662f786b594d78ec3f76fdf7788220">
testsuite/tests/stranal/should_compile/T10482.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/-/commit/15d2340cb9dc833adb87784e6de86dba235290f7">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.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.haskell.org/ghc/ghc/-/commit/15d2340cb9dc833adb87784e6de86dba235290f7"}}</script>


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