[Git][ghc/ghc][wip/T8095-spj] 18 commits: typecheck: Drop SPECIALISE pragmas when there is no unfolding

Simon Peyton Jones gitlab at gitlab.haskell.org
Thu Aug 13 09:32:08 UTC 2020



Simon Peyton Jones pushed to branch wip/T8095-spj at Glasgow Haskell Compiler / GHC


Commits:
ab4d1589 by Ben Gamari at 2020-08-11T22:18:03-04:00
typecheck: Drop SPECIALISE pragmas when there is no unfolding

Previously the desugarer would instead fall over when it realized that
there was no unfolding for an imported function with a SPECIALISE
pragma. We now rather drop the SPECIALISE pragma and throw a warning.

Fixes #18118.

- - - - -
0ac8c0a5 by Ben Gamari at 2020-08-11T22:18:03-04:00
testsuite: Add test for #18118

- - - - -
c43078d7 by Sven Tennie at 2020-08-11T22:18:38-04:00
Add hie.yaml to ghc-heap

This enables IDE support by haskell-language-server for ghc-heap.

- - - - -
f1088b3f by Ben Gamari at 2020-08-11T22:19:15-04:00
testsuite: Specify metrics collected by T17516

Previously it collected everything, including "max bytes used". This is
problematic since the test makes no attempt to control for deviations in
GC timing, resulting in high variability. Fix this by only collecting
"bytes allocated".

- - - - -
accbc242 by Sylvain Henry at 2020-08-12T03:50:12-04:00
DynFlags: disentangle Outputable

- put panic related functions into GHC.Utils.Panic
- put trace related functions using DynFlags in GHC.Driver.Ppr

One step closer making Outputable fully independent of DynFlags.

Bump haddock submodule

- - - - -
db6dd810 by Ben Gamari at 2020-08-12T03:50:48-04:00
testsuite: Increase tolerance of T16916

T16916 (testing #16916) has been slightly fragile in CI due to its
reliance on CPU times. While it's hard to see how to eliminate
the time-dependence entirely, we can nevertheless make it more tolerant.

Fixes #16966.

- - - - -
bee43aca by Sylvain Henry at 2020-08-12T20:52:50-04:00
Rewrite and move the monad-state hack note

The note has been rewritten by @simonpj in !3851

[skip ci]

- - - - -
25fdf25e by Alan Zimmerman at 2020-08-12T20:53:26-04:00
ApiAnnotations: Fix parser for new GHC 9.0 features

- - - - -
7831fe05 by Ben Gamari at 2020-08-13T03:44:17-04:00
parser: Suggest ImportQualifiedPost in prepositive import warning

As suggested in #18545.

- - - - -
55dec4dc by Sebastian Graf at 2020-08-13T03:44:52-04:00
PmCheck: Better long-distance info for where bindings (#18533)

Where bindings can see evidence from the pattern match of the `GRHSs`
they belong to, but not from anything in any of the guards (which belong
to one of possibly many RHSs).

Before this patch, we did *not* consider said evidence, causing #18533,
where the lack of considering type information from a case pattern match
leads to failure to resolve the vanilla COMPLETE set of a data type.

Making available that information required a medium amount of
refactoring so that `checkMatches` can return a
`[(Deltas, NonEmpty Deltas)]`; one `(Deltas, NonEmpty Deltas)` for each
`GRHSs` of the match group. The first component of the pair is the
covered set of the pattern, the second component is one covered set per
RHS.

Fixes #18533.
Regression test case: T18533

- - - - -
cf97889a by Hécate at 2020-08-13T03:45:29-04:00
Re-add BangPatterns to CodePage.hs

- - - - -
9607899e by Simon Peyton Jones at 2020-08-13T10:29:29+01:00
Zap coercions (take 2)

This is Simon's take on coercion zapping.

The basic approach remains the same: add a UnivProv for a zapped
coercion, controlled by -ddrop-coercions.  Particular features:

* A zapped coercion is born in one place only: in GHC.Tc.Utils.Zonk,
  when zonking a coercion.  By that time all coercion holes are
  filled in, so there is no issue about looking for free holes.

* Flattening and solving are unaffected. They'll allocate
  coercions -- but my plan (not yet brought to fruition)
  is that they are never traversed when we have -ddrop-coercions

* There will, therefore, be no perf gain in the type checker;
  but the entire rest of the compiler will benefit.

- - - - -
ccfe42c0 by Simon Peyton Jones at 2020-08-13T10:29:29+01:00
CI adjustments

This patch temporarily
* Marks -ddump-coercions as undocumented (so that CI doesn't stumble)
* Adds -ddump-coercions to TEST_HC so that all tests run with it on

- - - - -
ab54854d by Simon Peyton Jones at 2020-08-13T10:29:29+01:00
Free-var fixes

This should stop the perf regressions

- - - - -
40e45c9c by Simon Peyton Jones at 2020-08-13T10:30:32+01:00
Simplify TyCoFolder

This commit removes the 'env' part of TyCoFolder.  A nice
simplification!

- - - - -
584d2919 by Simon Peyton Jones at 2020-08-13T10:30:33+01:00
Tidy up and documentation Notes

- - - - -
cf275920 by Simon Peyton Jones at 2020-08-13T10:30:33+01:00
Two perf wibbles

- - - - -
44401c66 by Simon Peyton Jones at 2020-08-13T10:31:46+01:00
Further wibbles

- - - - -


30 changed files:

- compiler/GHC.hs
- compiler/GHC/Builtin/Types.hs
- compiler/GHC/Builtin/Types/Prim.hs
- compiler/GHC/Builtin/Uniques.hs
- compiler/GHC/Builtin/Utils.hs
- compiler/GHC/ByteCode/Asm.hs
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/CallConv.hs
- compiler/GHC/Cmm/CommonBlockElim.hs
- compiler/GHC/Cmm/DebugBlock.hs
- compiler/GHC/Cmm/Expr.hs
- compiler/GHC/Cmm/Info/Build.hs
- compiler/GHC/Cmm/LayoutStack.hs
- compiler/GHC/Cmm/Liveness.hs
- compiler/GHC/Cmm/Opt.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Cmm/Ppr/Decl.hs
- compiler/GHC/Cmm/Ppr/Expr.hs
- compiler/GHC/Cmm/ProcPoint.hs
- compiler/GHC/Cmm/Switch.hs
- compiler/GHC/Cmm/Type.hs
- compiler/GHC/Cmm/Utils.hs
- compiler/GHC/CmmToAsm.hs
- compiler/GHC/CmmToAsm/BlockLayout.hs
- compiler/GHC/CmmToAsm/CFG.hs
- compiler/GHC/CmmToAsm/CPrim.hs
- compiler/GHC/CmmToAsm/Dwarf.hs
- compiler/GHC/CmmToAsm/Format.hs
- compiler/GHC/CmmToAsm/Monad.hs
- compiler/GHC/CmmToAsm/PIC.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/dd4b25f1d6d6b990769098d07b047f70b3fd48a4...44401c6648aec012ca0f6c49a784e46654e6ec83

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/dd4b25f1d6d6b990769098d07b047f70b3fd48a4...44401c6648aec012ca0f6c49a784e46654e6ec83
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/20200813/72025da0/attachment-0001.html>


More information about the ghc-commits mailing list