[Git][ghc/ghc][wip/az/T21355-exactprint-update] 6 commits: Add a perf test for the generics code pattern from #21839.

Alan Zimmerman (@alanz) gitlab at gitlab.haskell.org
Thu Oct 13 20:21:08 UTC 2022



Alan Zimmerman pushed to branch wip/az/T21355-exactprint-update at Glasgow Haskell Compiler / GHC


Commits:
ce293908 by Andreas Klebinger at 2022-10-13T05:58:19-04:00
Add a perf test for the generics code pattern from #21839.

This code showed a strong shift between compile time (got worse) and
run time (got a lot better) recently which is perfectly acceptable.

However it wasn't clear why the compile time regression was happening
initially so I'm adding this test to make it easier to track such changes
in the future.

- - - - -
78ab7afe by Ben Gamari at 2022-10-13T05:58:56-04:00
rts/linker: Consolidate initializer/finalizer handling

Here we extend our treatment of initializer/finalizer priorities to
include ELF and in so doing refactor things to share the implementation
with PEi386. As well, I fix a subtle misconception of the ordering
behavior for `.ctors`.

Fixes #21847.

- - - - -
44692713 by Ben Gamari at 2022-10-13T05:58:56-04:00
rts/linker: Add support for .fini sections

- - - - -
beebf546 by Simon Hengel at 2022-10-13T05:59:37-04:00
Update phases.rst

(the name of the original source file is $1, not $2)
- - - - -
eda6c05e by Finley McIlwaine at 2022-10-13T06:00:17-04:00
Clearer error msg for newtype GADTs with defaulted kind

When a newtype introduces GADT eq_specs due to a defaulted
RuntimeRep, we detect this and print the error message with
explicit kinds.

This also refactors newtype type checking to use the new
diagnostic infra.

Fixes #21447

- - - - -
5baa2b4c by Alan Zimmerman at 2022-10-13T21:19:59+01:00
Update the check-exact infrastructure to match ghc-exactprint

GHC tests the exact print annotations using the contents of
utils/check-exact.

The same functionality is provided via
https://github.com/alanz/ghc-exactprint

The latter was updated to ensure it works with all of the files on
hackage when 9.2 was released, as well as updated to ensure users of
the library could work properly (apply-refact, retrie, etc).

This commit brings the changes from ghc-exactprint into
GHC/utils/check-exact, adapting for the changes to master.

Once it lands, it will form the basis for the 9.4 version of
ghc-exactprint.

See also discussion around this process at #21355

- - - - -


30 changed files:

- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/TyCl.hs
- compiler/GHC/Types/Error/Codes.hs
- docs/users_guide/phases.rst
- rts/linker/Elf.c
- rts/linker/ElfTypes.h
- + rts/linker/InitFini.c
- + rts/linker/InitFini.h
- rts/linker/PEi386.c
- rts/linker/PEi386Types.h
- rts/rts.cabal.in
- testsuite/tests/gadt/T14719.stderr
- testsuite/tests/ghc-api/exactprint/AddDecl2.expected.hs
- testsuite/tests/ghc-api/exactprint/RmDecl7.expected.hs
- testsuite/tests/ghc-api/exactprint/RmDecl7.hs
- testsuite/tests/indexed-types/should_fail/T14033.stderr
- testsuite/tests/indexed-types/should_fail/T2334A.stderr
- testsuite/tests/linear/should_fail/LinearGADTNewtype.stderr
- testsuite/tests/parser/should_fail/readFail008.stderr
- + testsuite/tests/perf/compiler/T21839c.hs
- + testsuite/tests/perf/compiler/T21839c.stdout
- testsuite/tests/perf/compiler/all.T
- + testsuite/tests/perf/should_run/T21839r.hs
- + testsuite/tests/perf/should_run/T21839r.stdout
- testsuite/tests/perf/should_run/all.T
- testsuite/tests/polykinds/T11459.stderr
- testsuite/tests/typecheck/should_fail/T15523.stderr
- testsuite/tests/typecheck/should_fail/T15796.stderr
- testsuite/tests/typecheck/should_fail/T17955.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/34adbd93b71d70f91f74e287977230a463ef61ce...5baa2b4c8d2c2fde3c5e2693e3e7711d7e94d480

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/34adbd93b71d70f91f74e287977230a463ef61ce...5baa2b4c8d2c2fde3c5e2693e3e7711d7e94d480
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/20221013/567136c6/attachment-0001.html>


More information about the ghc-commits mailing list