[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 23 commits: rts/CNF: Fix fixup comparison function
Marge Bot
gitlab at gitlab.haskell.org
Mon May 11 00:33:37 UTC 2020
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
bfd49c8d by Ben Gamari at 2020-05-10T20:32:22-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
- - - - -
f6dd77d6 by Ömer Sinan Ağacan at 2020-05-10T20:32:38-04:00
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
- - - - -
9e064973 by Simon Peyton Jones at 2020-05-10T20:32:39-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
- - - - -
cc9445e3 by Ben Gamari at 2020-05-10T20:32:40-04:00
get-win32-tarballs: Fix base URL
Revert a change previously made for testing purposes.
- - - - -
6e42decb by Ben Gamari at 2020-05-10T20:32:40-04:00
get-win32-tarballs: Improve diagnostics output
- - - - -
71d99c90 by Simon Jakobi at 2020-05-10T20:32:41-04:00
docs: Add examples for Data.Semigroup.Arg{Min,Max}
Context: #17153
- - - - -
7e57d5ed by Baldur Blöndal at 2020-05-10T20:32:43-04:00
Predicate, Equivalence derive via `.. -> a -> All'
- - - - -
19d1024b by Emeka Nkurumeh at 2020-05-10T20:32:45-04:00
fix printf warning when using with ghc with clang on mingw
- - - - -
951e10e1 by Daniel Gröber at 2020-05-10T20:32:48-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.
- - - - -
5fca6bcd by Daniel Gröber at 2020-05-10T20:32:48-04:00
Improve ByteArray# documentation regarding alignment
- - - - -
1ca53bf3 by Daniel Gröber at 2020-05-10T20:32:48-04:00
Document word-size rounding of ByteArray# memory (Fix #14731)
- - - - -
acfe00ef by Daniel Gröber at 2020-05-10T20:32:49-04:00
Throw IOError when allocaBytesAligned gets non-power-of-two align
- - - - -
b776404d by Richard Eisenberg at 2020-05-10T20:32:49-04:00
Improve Note [The flattening story]
- - - - -
b373a2d5 by Artem Pelenitsyn at 2020-05-10T20:32:53-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.
- - - - -
c1cb92cb by Ben Gamari at 2020-05-10T20:32:53-04:00
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.
- - - - -
dc1708b5 by Hécate at 2020-05-10T20:33:01-04:00
fix(documentation): Fix the RST links to GHC.Prim
- - - - -
2fc92c0c by Baldur Blöndal at 2020-05-10T20:33:07-04:00
Document (->) using inferred quantification for its runtime representations.
Fixes #18142.
- - - - -
00966e51 by Takenobu Tani at 2020-05-10T20:33:13-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
- - - - -
66244728 by Takenobu Tani at 2020-05-10T20:33:22-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.
- - - - -
13f900b2 by Jeff Happily at 2020-05-10T20:33:26-04:00
Handle single unused import
- - - - -
6df1ceec by Ben Gamari at 2020-05-10T20:33:27-04:00
Ensure that printMinimalImports closes handle
Fixes #18166.
- - - - -
b2377822 by Ben Gamari at 2020-05-10T20:33:27-04:00
testsuite: Print sign of performance changes
Executes the minor formatting change in the tabulated performance
changes suggested in #18135.
- - - - -
b1a4f386 by Ben Gamari at 2020-05-10T20:33:28-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/Cmm/Opt.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/Opt/WorkWrap.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/Type.hs
- compiler/GHC/Core/Unfold.hs
- compiler/GHC/Rename/Names.hs
- compiler/GHC/Tc/Solver/Flatten.hs
- compiler/GHC/Types/Id/Info.hs
- docs/users_guide/conf.py
- docs/users_guide/editing-guide.rst
- docs/users_guide/exts/ffi.rst
- docs/users_guide/exts/primitives.rst
- docs/users_guide/ghc.rst
- ghc/GHCi/UI.hs
- hadrian/src/Settings/Builders/RunTest.hs
- includes/rts/Messages.h
- libraries/base/Data/Functor/Contravariant.hs
- libraries/base/Data/Semigroup.hs
- libraries/base/Foreign/Marshal/Alloc.hs
- libraries/base/Foreign/Storable.hs
- libraries/base/changelog.md
- + libraries/ghc-compact/tests/T16992.hs
- + libraries/ghc-compact/tests/T16992.stdout
- libraries/ghc-compact/tests/all.T
- mk/get-win32-tarballs.py
- rts/sm/CNF.c
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7578a90de2e3c2b3c1e81a54618afe0c26a218ee...b1a4f3868b469cddb4bd198089b4075c184d9eb3
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7578a90de2e3c2b3c1e81a54618afe0c26a218ee...b1a4f3868b469cddb4bd198089b4075c184d9eb3
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/0d2617a0/attachment.html>
More information about the ghc-commits
mailing list