[Git][ghc/ghc][wip/sand-witch/lazy-skol] 35 commits: Apply Note [Sensitivity to unique increment] to LargeRecord

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Fri Jan 12 13:13:26 UTC 2024



Simon Peyton Jones pushed to branch wip/sand-witch/lazy-skol at Glasgow Haskell Compiler / GHC


Commits:
48720a07 by Matthew Craven at 2024-01-08T18:57:36-05:00
Apply Note [Sensitivity to unique increment] to LargeRecord

- - - - -
9e2e180f by Sebastian Graf at 2024-01-08T18:58:13-05:00
Debugging: Add diffUFM for convenient diffing between UniqFMs

- - - - -
948f3e35 by Sebastian Graf at 2024-01-08T18:58:13-05:00
Rename Opt_D_dump_stranal to Opt_D_dump_dmdanal

... and Opt_D_dump_str_signatures to Opt_D_dump_dmd_signatures

- - - - -
4e217e3e by Sebastian Graf at 2024-01-08T18:58:13-05:00
Deprecate -ddump-stranal and -ddump-str-signatures

... and suggest -ddump-dmdanal and -ddump-dmd-signatures instead

- - - - -
6c613c90 by Sebastian Graf at 2024-01-08T18:58:13-05:00
Move testsuite/tests/stranal to testsuite/tests/dmdanal

A separate commit so that the rename is obvious to Git(Lab)

- - - - -
c929f02b by Sebastian Graf at 2024-01-08T18:58:13-05:00
CoreSubst: Stricten `substBndr` and `cloneBndr`

Doing so reduced allocations of `cloneBndr` by about 25%.

```
T9233(normal) ghc/alloc    672,488,656    663,083,216  -1.4% GOOD
T9675(optasm) ghc/alloc    423,029,256    415,812,200  -1.7%

    geo. mean                                          -0.1%
    minimum                                            -1.7%
    maximum                                            +0.1%
```

Metric Decrease:
    T9233

- - - - -
e3ca78f3 by Krzysztof Gogolewski at 2024-01-10T17:35:59-05:00
Deprecate -Wsemigroup

This warning was used to prepare for Semigroup becoming a superclass
of Monoid, and for (<>) being exported from Prelude. This happened in
GHC 8.4 in 8ae263ceb3566 and feac0a3bc69fd3.

The leftover logic for (<>) has been removed in GHC 9.8, 4d29ecdfcc79.
Now the warning does nothing at all and can be deprecated.

- - - - -
08d14925 by amesgen at 2024-01-10T17:36:42-05:00
WASM metadata: use correct GHC version

- - - - -
7a808419 by Xiaoyan Ren at 2024-01-10T17:37:24-05:00
Allow SCC declarations in TH (#24081)

- - - - -
28827c51 by Xiaoyan Ren at 2024-01-10T17:37:24-05:00
Fix prettyprinting of SCC pragmas

- - - - -
ae9cc1a8 by Matthew Craven at 2024-01-10T17:38:01-05:00
Fix loopification in the presence of void arguments

This also removes Note [Void arguments in self-recursive tail calls],
which was just misleading.  It's important to count void args both
in the function's arity and at the call site.

Fixes #24295.

- - - - -
b718b145 by Zubin Duggal at 2024-01-10T17:38:36-05:00
testsuite: Teach testsuite driver about c++ sources

- - - - -
09cb57ad by Zubin Duggal at 2024-01-10T17:38:36-05:00
driver: Set -DPROFILING when compiling C++ sources with profiling

Earlier, we used to pass all preprocessor flags to the c++ compiler.
This meant that -DPROFILING was passed to the c++ compiler because
it was a part of C++ flags
However, this was incorrect and the behaviour was changed in
8ff3134ed4aa323b0199ad683f72165e51a59ab6. See #21291.

But that commit exposed this bug where -DPROFILING was no longer being passed
when compiling c++ sources.

The fix is to explicitly include -DPROFILING in `opt_cxx` when profiling is
enabled to ensure we pass the correct options for the way to both C and C++
compilers

Fixes #24286

- - - - -
2cf9dd96 by Zubin Duggal at 2024-01-10T17:38:36-05:00
testsuite: rename objcpp -> objcxx

To avoid confusion with C Pre Processsor

- - - - -
af6932d6 by Simon Peyton Jones at 2024-01-10T17:39:12-05:00
Make TYPE and CONSTRAINT not-apart

Issue #24279 showed up a bug in the logic in GHC.Core.Unify.unify_ty
which is supposed to make TYPE and CONSTRAINT be not-apart.

Easily fixed.

- - - - -
4a39b5ff by Zubin Duggal at 2024-01-10T17:39:48-05:00
ci: Fix typo in mk_ghcup_metadata.py

There was a missing colon in the fix to #24268 in 989bf8e53c08eb22de716901b914b3607bc8dd08

- - - - -
13503451 by Zubin Duggal at 2024-01-10T17:40:24-05:00
release-ci: remove release-x86_64-linux-deb11-release+boot_nonmoving_gc job

There is no reason to have this release build or distribute this variation.
This configuration is for testing purposes only.

- - - - -
afca46a4 by Sebastian Graf at 2024-01-10T17:41:00-05:00
Parser: Add a Note detailing why we need happy's `error` to implement layout

- - - - -
300d20f0 by Andrei Borzenkov at 2024-01-12T13:13:14+00:00
Lazy skolemisation for @a-binders (17594)

This patch is a preparation for @a-binders implementation.
We have to accept SigmaType in matchExpectedFunTys function
to implement them. To achieve that, I made skolemization more
lazy. This leads to

- Changing tcPolyCheck function. Now it collects skolemised
  type variables and passes a list of them into tc_match_fun,
  so they could be used as [ExpPatType] with @-binsers.
- Changing tcExprSig function, so now it only skolemises signature
  if there is `ScopedTypeVariables` extension enabled.
- Changing tcPolyExpr function. Now it goes deeper into type if type
  actually is
    1) HsPar
    2) HsLam
  In all other cases tcPolyExpr immediately skolemises a type as it was
  previously.

These changes would allow lambdas to accept invisible type arguments
in the most interesting contexts.

- - - - -
4077bd86 by Andrei Borzenkov at 2024-01-12T13:13:14+00:00
fixup! Lazy skolemisation for @a-binders (17594)

- - - - -
9c7db193 by Andrei Borzenkov at 2024-01-12T13:13:14+00:00
Use flag instead of [ExpPatTy]

- - - - -
b358c214 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Big refactor

..based on conversations with Vlad and Ricahrd

Proper commit message yet to come...

- - - - -
f056344d by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Revert erroneous changes to error messages

- - - - -
e8ca84e3 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Wibbles

- - - - -
a1556ff0 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Wibble

- - - - -
acd99517 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
More improvements

- - - - -
080e07e4 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Tidying up

- - - - -
e3955728 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
More

- - - - -
be760faf by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Yet more improvements

- - - - -
9899a4f6 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Yet more

- - - - -
13d8b4b7 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Wibble

- - - - -
f8b97e08 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Fix assertion error

- - - - -
dbc66a8a by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Move implicationNeeded check to tcSkolemiseGeneral

- - - - -
4733a158 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Wibble

- - - - -
4b0b0da4 by Simon Peyton Jones at 2024-01-12T13:13:14+00:00
Comments

- - - - -


30 changed files:

- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- .gitlab/rel_eng/mk-ghcup-metadata/mk_ghcup_metadata.py
- compiler/GHC/Builtin/Names/TH.hs
- compiler/GHC/CmmToAsm/Wasm/Asm.hs
- compiler/GHC/Core/Make.hs
- compiler/GHC/Core/Opt/Pipeline.hs
- compiler/GHC/Core/Subst.hs
- compiler/GHC/Core/TyCo/Rep.hs
- compiler/GHC/Core/Unify.hs
- compiler/GHC/Driver/Config/Core/Lint.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Expr.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/Hs/Utils.hs
- compiler/GHC/HsToCore/Pmc/Utils.hs
- compiler/GHC/HsToCore/Quote.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Parser.y
- compiler/GHC/Platform/Ways.hs
- compiler/GHC/Rename/Env.hs
- compiler/GHC/Rename/Expr.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/StgToCmm/Bind.hs
- compiler/GHC/StgToCmm/Closure.hs
- compiler/GHC/StgToCmm/Expr.hs
- compiler/GHC/StgToCmm/Heap.hs
- compiler/GHC/StgToCmm/Monad.hs
- compiler/GHC/StgToCmm/Sequel.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/21b6915b1307d8c9b3a17fe1f5960dc3f6d3f399...4b0b0da4f1a85c95a04a742109cf24e98f990655

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/21b6915b1307d8c9b3a17fe1f5960dc3f6d3f399...4b0b0da4f1a85c95a04a742109cf24e98f990655
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/20240112/93c56362/attachment-0001.html>


More information about the ghc-commits mailing list