[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 24 commits: Use UnitId in the backend instead of Unit

Marge Bot gitlab at gitlab.haskell.org
Fri Oct 9 07:40:28 UTC 2020



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


Commits:
374a6846 by Sylvain Henry at 2020-10-09T03:39:48-04:00
Use UnitId in the backend instead of Unit

In Cmm we can only have real units identified with an UnitId.  Other
units (on-the-fly instantiated units and holes) are only used in
type-checking backpack sessions that don't produce Cmm.

- - - - -
4a47fafe by Simon Jakobi at 2020-10-09T03:39:48-04:00
Update containers to v0.6.4.1

Updates containers submodule.

- - - - -
40cf985e by Tamar Christina at 2020-10-09T03:39:50-04:00
rts: fix race condition in StgCRun

On windows the stack has to be allocated 4k at a time, otherwise we get
a segfault. This is done by using a helper ___chkstk_ms that is provided
by libgcc. The Haskell side already knows how to handle this but we need
to do the same from STG. Previously we would drop the stack in StgRun
but would only make it valid whenever the scheduler loop ran.

This approach was fundamentally broken in that it falls apart when you
take a signal from the OS. We see it less often because you initially
get allocated a 1MB stack block which you have to blow past first.

Concretely this means we must always keep the stack valid.

Fixes #18601.

- - - - -
db5c8bb0 by Sylvain Henry at 2020-10-09T03:39:52-04:00
Expose RTS-only ways (#18651)

Some RTS ways are exposed via settings (ghcThreaded, ghcDebugged) but
not all. It's simpler if the RTS exposes them all itself.

- - - - -
228f1040 by MaxGabriel at 2020-10-09T03:39:53-04:00
Document -Wderiving-typeable

Tracking: #18641

- - - - -
2a1fbc88 by Krzysztof Gogolewski at 2020-10-09T03:39:55-04:00
Add a flag to indicate that gcc supports -no-pie

Fixes #17919.

- - - - -
86d0ca76 by Hécate at 2020-10-09T03:39:56-04:00
Add linting of `base` to the CI

- - - - -
e4c1fba5 by Andreas Klebinger at 2020-10-09T03:39:57-04:00
Use proper RTS flags when collecting residency in perf tests.

Replace options like collect_stats(['peak_megabytes_allocated'],4) with
collect_runtime_residency(4) and so forth. Reason being that the later
also supplies some default RTS arguments which make sure residency does
not fluctuate too much.

The new flags mean we get new (hopefully more accurate) baselines so
accept the stat changes.

-------------------------
Metric Decrease:
     T4029
     T4334
     T7850
Metric Increase:
     T13218
     T7436
-------------------------

- - - - -
1f475bb1 by Andreas Klebinger at 2020-10-09T03:39:57-04:00
testsuite/timeout: Fix windows specific errors.

We now seem to use -Werror there. Which caused some long standing
warnings to become errors.

I applied changes to remove the warnings allowing the testsuite to
run on windows as well.

- - - - -
b49e3edf by Sylvain Henry at 2020-10-09T03:39:59-04:00
Hadrian: add quick-debug flavour

- - - - -
c773a63f by Sylvain Henry at 2020-10-09T03:40:00-04:00
Bignum: match on small Integer/Natural

Previously we only matched on *variables* whose unfoldings were a ConApp
of the form `IS lit#` or `NS lit##`. But we forgot to match on the
ConApp directly... As a consequence, constant folding only worked after
the FloatOut pass which creates bindings for most sub-expressions. With
this patch, matching on bignums works even with -O0 (see bignumMatch
test).

- - - - -
61b0d1ff by Alan Zimmerman at 2020-10-09T03:40:01-04:00
ApiAnnotations : preserve parens in GADTs

A cleanup in 7f418acf61e accidentally discarded some parens in
ConDeclGADT.

Make sure these stay in the AST in a usable format.

Also ensure the AnnLolly does not get lost in a GADT.

- - - - -
f6613828 by Krzysztof Gogolewski at 2020-10-09T03:40:02-04:00
Linear types: fix roles in GADTs (#18799)

- - - - -
0859ea6b by Ben Gamari at 2020-10-09T03:40:03-04:00
sdist: Include hadrian sources in source distribution

Previously the make build system's source distribution rules neglected
to include Hadrian's sources.

Fixes #18794.

- - - - -
18b2ee27 by Tamar Christina at 2020-10-09T03:40:05-04:00
winio: fixed timeouts non-threaded.

- - - - -
2e225124 by Tamar Christina at 2020-10-09T03:40:06-04:00
winio: fix array splat

- - - - -
3fecacac by Tamar Christina at 2020-10-09T03:40:10-04:00
winio: fixed bytestring reading interface.

- - - - -
f8c269ff by Tamar Christina at 2020-10-09T03:40:12-04:00
winio: fixed more data error.

- - - - -
c1e7dbdd by Simon Peyton Jones at 2020-10-09T03:40:12-04:00
Fix desugaring of record updates on data families

This fixes a long-standing bug in the desugaring of record
updates for data families, when the latter involves a GADT. It's
all explained in Note [Update for GADTs] in GHC.HsToCore.Expr.

Building the correct cast is surprisingly tricky, as that Note
explains.

Fixes #18809.  The test case (in indexed-types/should_compile/T18809)
contains several examples that exercise the dark corners.

- - - - -
4e326d8e by Ben Gamari at 2020-10-09T03:40:14-04:00
Bump win32-tarballs version to 0.3

This should fix #18774.

- - - - -
c419430e by Andreas Klebinger at 2020-10-09T03:40:15-04:00
Add TyCon Set/Env and use them in a few places.

Firstly this improves code clarity.

But it also has performance benefits as we no longer
go through the name of the TyCon to get at it's unique.

In order to make this work the recursion check for TyCon
has been moved into it's own module in order to avoid import
cycles.

- - - - -
023eda0f by Krzysztof Gogolewski at 2020-10-09T03:40:17-04:00
Add -pgmlm and -optlm flags

!3798 added documentation and semantics for the flags,
but not parsing.

- - - - -
7a75713e by Sylvain Henry at 2020-10-09T03:40:19-04:00
Testsuite: increase timeout for T18223 (#18795)

- - - - -
4d699082 by Sylvain Henry at 2020-10-09T03:40:21-04:00
Cache HomeUnit in HscEnv (#17957)

Instead of recreating the HomeUnit from the DynFlags every time we need
it, we store it in the HscEnv.

- - - - -


30 changed files:

- .gitlab-ci.yml
- compiler/GHC.hs
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/Pipeline.hs
- compiler/GHC/Core/Opt/SpecConstr.hs
- compiler/GHC/Core/Opt/WorkWrap/Utils.hs
- compiler/GHC/Core/Predicate.hs
- compiler/GHC/Core/SimpleOpt.hs
- compiler/GHC/Core/TyCo/Subst.hs
- compiler/GHC/Core/TyCon.hs
- + compiler/GHC/Core/TyCon/Env.hs
- + compiler/GHC/Core/TyCon/RecWalk.hs
- + compiler/GHC/Core/TyCon/Set.hs
- compiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/Finder.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Driver/Types.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/HsToCore.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/Monad.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7d5d4f518635a41b787573ff56ddcfaad77b2cd5...4d699082b520bdd143d240c53c313d9a4ba71b01

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/7d5d4f518635a41b787573ff56ddcfaad77b2cd5...4d699082b520bdd143d240c53c313d9a4ba71b01
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/20201009/cd2ba3ce/attachment.html>


More information about the ghc-commits mailing list