[Git][ghc/ghc][wip/T22434] 3 commits: Use TcRnDiagnostic in GHC.Tc.TyCl.Instance (#20117)

Simon Peyton Jones (@simonpj) gitlab at gitlab.haskell.org
Thu Nov 10 12:12:36 UTC 2022



Simon Peyton Jones pushed to branch wip/T22434 at Glasgow Haskell Compiler / GHC


Commits:
92ccb8de by Giles Anderson at 2022-11-09T09:27:52-05:00
Use TcRnDiagnostic in GHC.Tc.TyCl.Instance (#20117)

The following `TcRnDiagnostic` messages have been introduced:

TcRnWarnUnsatisfiedMinimalDefinition
TcRnMisplacedInstSig
TcRnBadBootFamInstDeclErr
TcRnIllegalFamilyInstance
TcRnAssocInClassErr
TcRnBadFamInstDecl
TcRnNotOpenFamily

- - - - -
90c5abd4 by Hécate Moonlight at 2022-11-09T09:28:30-05:00
GHCi tags generation phase 2

see #19884

- - - - -
299d21bb by Simon Peyton Jones at 2022-11-10T12:14:32+00:00
Add a fast path for data constructor workers

See Note [Fast path for data constructors] in
GHC.Core.Opt.Simplify.Iteration

This bypasses lots of expensive logic, in the special case of
applications of data constructors.  It is a surprisingly worthwhile
improvement, as you can see in the figures below.

Metrics: compile_time/bytes allocated
------------------------------------------------
          CoOpt_Read(normal)   -2.0%
    CoOpt_Singletons(normal)   -2.0%
    ManyConstructors(normal)   -1.3%
              T10421(normal)   -1.9% GOOD
             T10421a(normal)   -1.5%
              T10858(normal)   -1.6%
              T11545(normal)   -1.7%
              T12234(optasm)   -1.3%
              T12425(optasm)   -1.9% GOOD
              T13035(normal)   -1.0% GOOD
              T13056(optasm)   -1.8%
              T13253(normal)   -3.3% GOOD
              T15164(normal)   -1.7%
              T15304(normal)   -3.4%
              T15630(normal)   -2.8%
              T16577(normal)   -4.3% GOOD
              T17096(normal)   -1.1%
              T17516(normal)   -3.1%
              T18282(normal)   -1.9%
              T18304(normal)   -1.2%
             T18698a(normal)   -1.2% GOOD
             T18698b(normal)   -1.5% GOOD
              T18923(normal)   -1.3%
               T1969(normal)   -1.3% GOOD
              T19695(normal)   -4.4% GOOD
             T21839c(normal)   -2.7% GOOD
             T21839r(normal)   -2.7% GOOD
               T4801(normal)   -3.8% GOOD
               T5642(normal)   -3.1% GOOD
               T6048(optasm)   -2.5% GOOD
               T9020(optasm)   -2.7% GOOD
               T9630(normal)   -2.1% GOOD
               T9961(normal)  -11.7% GOOD
               WWRec(normal)   -1.0%

                   geo. mean   -1.1%
                   minimum    -11.7%
                   maximum     +0.1%

Metric Decrease:
    T10421
    T12425
    T13035
    T13253
    T16577
    T18698a
    T18698b
    T1969
    T19695
    T21839c
    T21839r
    T4801
    T5642
    T6048
    T9020
    T9630
    T9961

- - - - -


30 changed files:

- compiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Core/Rules.hs
- compiler/GHC/Driver/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/TyCl/Instance.hs
- compiler/GHC/Types/Error/Codes.hs
- compiler/GHC/Types/Id/Make.hs
- ghc/GHCi/UI/Tags.hs
- testsuite/tests/backpack/should_compile/bkp47.stderr
- testsuite/tests/backpack/should_fail/bkpfail25.stderr
- testsuite/tests/deSugar/should_compile/T14546d.stderr
- testsuite/tests/deriving/should_compile/T14094.stderr
- testsuite/tests/deriving/should_compile/T4966.stderr
- testsuite/tests/deriving/should_compile/T9968a.stderr
- testsuite/tests/deriving/should_compile/deriving-1935.stderr
- testsuite/tests/deriving/should_compile/drv003.stderr
- testsuite/tests/ghci/scripts/T5820.stderr
- testsuite/tests/ghci/scripts/ghci019.stderr
- testsuite/tests/indexed-types/should_compile/Class3.stderr
- testsuite/tests/indexed-types/should_compile/Simple2.stderr
- + testsuite/tests/indexed-types/should_fail/BadFamInstDecl.hs
- + testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr
- + testsuite/tests/indexed-types/should_fail/BadFamInstDecl_aux.hs
- + testsuite/tests/indexed-types/should_fail/HsBootFam.hs
- + testsuite/tests/indexed-types/should_fail/HsBootFam.stderr
- + testsuite/tests/indexed-types/should_fail/HsBootFam_aux.hs
- + testsuite/tests/indexed-types/should_fail/HsBootFam_aux.hs-boot
- testsuite/tests/indexed-types/should_fail/Overlap3.stderr


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e5b02b841deee5a8275e1897518c69db64aac53e...299d21bbe03d4e054be7702b495f792f99898dfd

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/e5b02b841deee5a8275e1897518c69db64aac53e...299d21bbe03d4e054be7702b495f792f99898dfd
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/20221110/0e0f2ab1/attachment.html>


More information about the ghc-commits mailing list