[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 21 commits: rts/CNF: Fix fixup comparison function

Marge Bot gitlab at gitlab.haskell.org
Sun May 10 19:01:43 UTC 2020



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
fa2252df by Ben Gamari at 2020-05-10T15:00:37-04:00
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

- - - - -
ac3d1104 by Simon Peyton Jones at 2020-05-10T15:00:38-04:00
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

- - - - -
f399a94c by Ben Gamari at 2020-05-10T15:00:39-04:00
get-win32-tarballs: Fix base URL

Revert a change previously made for testing purposes.

- - - - -
e9e6db8f by Ben Gamari at 2020-05-10T15:00:39-04:00
get-win32-tarballs: Improve diagnostics output

- - - - -
7c9a3bfa by Simon Jakobi at 2020-05-10T15:00:40-04:00
docs: Add examples for Data.Semigroup.Arg{Min,Max}

Context: #17153

- - - - -
d5c5f8fe by Simon Jakobi at 2020-05-10T15:00:41-04:00
Improve some folds over Uniq[D]FM

* Replace some non-deterministic lazy folds with
  strict folds.
* Replace some O(n log n) folds in deterministic order
  with O(n) non-deterministic folds.
* Replace some folds with set-operations on the underlying
  IntMaps.

This reduces max residency when compiling
`nofib/spectral/simple/Main.hs` with -O0 by about 1%.

Maximum residency when compiling Cabal also seems reduced on the
order of 3-9%.

- - - - -
926f926d by Simon Jakobi at 2020-05-10T15:00:41-04:00
Use Data.IntMap.disjoint

Data.IntMap gained a dedicated `disjoint` function in containers-0.6.2.1.

This patch applies this function where appropriate in hopes of modest
compiler performance improvements.

Closes #16806.

- - - - -
2a5c34fd by Baldur Blöndal at 2020-05-10T15:00:44-04:00
Predicate, Equivalence derive via `.. -> a -> All'

- - - - -
38521427 by Emeka Nkurumeh at 2020-05-10T15:00:47-04:00
fix printf warning when using with ghc with clang on mingw
- - - - -
010ae077 by Daniel Gröber at 2020-05-10T15:01:00-04:00
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.

- - - - -
3cd80d06 by Daniel Gröber at 2020-05-10T15:01:00-04:00
Improve ByteArray# documentation regarding alignment

- - - - -
79331469 by Daniel Gröber at 2020-05-10T15:01:00-04:00
Document word-size rounding of ByteArray# memory (Fix #14731)

- - - - -
de9fff04 by Daniel Gröber at 2020-05-10T15:01:00-04:00
Throw IOError when allocaBytesAligned gets non-power-of-two align

- - - - -
b66630cf by Richard Eisenberg at 2020-05-10T15:01:01-04:00
Improve Note [The flattening story]

- - - - -
c76d6346 by Artem Pelenitsyn at 2020-05-10T15:01:13-04:00
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.

- - - - -
a328dfb8 by Hécate at 2020-05-10T15:01:16-04:00
fix(documentation): Fix the RST links to GHC.Prim

- - - - -
728e1025 by Baldur Blöndal at 2020-05-10T15:01:17-04:00
Document (->) using inferred quantification for its runtime representations.

Fixes #18142.

- - - - -
edbeee42 by Takenobu Tani at 2020-05-10T15:01:19-04:00
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

- - - - -
375a28b7 by Takenobu Tani at 2020-05-10T15:01:24-04:00
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.

- - - - -
77503e24 by Jeff Happily at 2020-05-10T15:01:26-04:00
Handle single unused import

- - - - -
7578a90d by Ben Gamari at 2020-05-10T15:01:27-04:00
hadrian: Tell testsuite driver about LLVM availability

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

Fixes #18167.

- - - - -


30 changed files:

- compiler/GHC.hs
- compiler/GHC/Builtin/Types/Prim.hs
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/CmmToAsm/Reg/Graph/SpillClean.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/FamInstEnv.hs
- compiler/GHC/Core/Opt/OccurAnal.hs
- compiler/GHC/Core/Opt/SetLevels.hs
- compiler/GHC/Core/Opt/Specialise.hs
- compiler/GHC/Core/Opt/WorkWrap.hs
- compiler/GHC/Core/TyCo/FVs.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/TyCo/Subst.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/Core/Unfold.hs
- compiler/GHC/Core/Unify.hs
- compiler/GHC/Data/Graph/Ops.hs
- compiler/GHC/HsToCore/Usage.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Rename/Names.hs
- compiler/GHC/Stg/Lift/Analysis.hs
- compiler/GHC/Tc/Errors/Hole.hs
- compiler/GHC/Tc/Solver.hs
- compiler/GHC/Tc/Solver/Flatten.hs
- compiler/GHC/Tc/TyCl/Build.hs
- compiler/GHC/Tc/Types/Evidence.hs
- compiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/Types/Demand.hs
- compiler/GHC/Types/Name/Env.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f016ecd34bf8bd6c714bc9bfa13d534ea720dd49...7578a90de2e3c2b3c1e81a54618afe0c26a218ee

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f016ecd34bf8bd6c714bc9bfa13d534ea720dd49...7578a90de2e3c2b3c1e81a54618afe0c26a218ee
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200510/3ced3f71/attachment.html>


More information about the ghc-commits mailing list