[Git][ghc/ghc][wip/exception-context] 14 commits: compiler: start deprecating cmmToRawCmmHook

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Tue Mar 5 13:16:48 UTC 2024



Ben Gamari pushed to branch wip/exception-context at Glasgow Haskell Compiler / GHC


Commits:
1c064ef1 by Cheng Shao at 2024-03-02T17:11:19-05:00
compiler: start deprecating cmmToRawCmmHook

cmmToRawCmmHook was added 4 years ago in
d561c8f6244f8280a2483e8753c38e39d34c1f01. Its only user is the
Asterius project, which has been archived and deprecated in favor of
the ghc wasm backend. This patch starts deprecating cmmToRawCmmHook by
placing a DEPRECATED pragma, and actual removal shall happen in a
future GHC major release if no issue to oppose the deprecation has
been raised in the meantime.

- - - - -
9b74845f by Andrew Lelechenko at 2024-03-02T17:11:55-05:00
Data.List.NonEmpty.unzip: use WARNING with category instead of DEPRECATED

CLC proposal: https://github.com/haskell/core-libraries-committee/issues/258

- - - - -
61bb5ff6 by Finley McIlwaine at 2024-03-04T09:01:40-08:00
add -fprof-late-overloaded and -fprof-late-overloaded-calls

* Refactor late cost centre insertion for extensibility
* Add two more late cost centre insertion methods that add SCCs to overloaded
  top level bindings and call sites with dictionary arguments.
* Some tests for the basic functionality of the new insertion methods

Resolves: #24500

- - - - -
82ccb801 by Andreas Klebinger at 2024-03-04T19:59:14-05:00
x86-ncg: Fix fma codegen when arguments are globals

Fix a bug in the x86 ncg where results would be wrong when the desired output
register and one of the input registers were the same global.

Also adds a tiny optimization to make use of the memory addressing
support when convenient.

Fixes #24496

- - - - -
e1468888 by Ben Gamari at 2024-03-05T08:16:41-05:00
Bump array submodule

- - - - -
ccb842af by Ben Gamari at 2024-03-05T08:16:41-05:00
Bump stm submodule

- - - - -
cc5cfe7e by Ben Gamari at 2024-03-05T08:16:41-05:00
Introduce exception context

Here we introduce the `ExceptionContext` type and `ExceptionAnnotation`
class, allowing dynamically-typed user-defined annotations to be
attached to exceptions.

CLC Proposal: https://github.com/haskell/core-libraries-committee/issues/199
GHC Proposal: https://github.com/ghc-proposals/ghc-proposals/pull/330

- - - - -
868368d8 by Ben Gamari at 2024-03-05T08:16:41-05:00
testsuite/interface-stability: Update documentation

- - - - -
6a74cfb5 by Ben Gamari at 2024-03-05T08:16:41-05:00
ghc-internal: comment formatting

- - - - -
6879d943 by Ben Gamari at 2024-03-05T08:16:41-05:00
compiler: Default and warn ExceptionContext constraints

- - - - -
a75706f6 by Ben Gamari at 2024-03-05T08:16:41-05:00
base: Introduce exception backtraces

Here we introduce the `Backtraces` type and associated machinery for
attaching these via `ExceptionContext`. These has a few compile-time
regressions (`T15703` and `T9872d`) due to the additional dependencies
in the exception machinery.

As well, there is a surprisingly large regression in the
`size_hello_artifact` test. This appears to be due to various `Integer` and
`Read` bits now being reachable at link-time. I believe it should be
possible to avoid this but I have accepted the change for now to get the
feature merged.

CLC Proposal: https://github.com/haskell/core-libraries-committee/issues/199
GHC Proposal: https://github.com/ghc-proposals/ghc-proposals/pull/330

Metric Increase:
    T15703
    T9872d
    size_hello_artifact

- - - - -
1772a3f2 by Ben Gamari at 2024-03-05T08:16:41-05:00
users guide: Release notes for exception backtrace work

- - - - -
1d6ce21d by Ben Gamari at 2024-03-05T08:16:42-05:00
ghc-experimental: Add dummy dependencies to work around #24436

This is a temporary measure to improve CI reliability until a proper
solution is developed.

- - - - -
6049c291 by Ben Gamari at 2024-03-05T08:16:42-05:00
compiler: Don't show ExceptionContext of GhcExceptions

Most GhcExceptions are user-facing errors and therefore the
ExceptionContext has little value. Ideally we would enable
it in the DEBUG compiler but I am leaving this for future work.

- - - - -


30 changed files:

- compiler/GHC/Builtin/Names.hs
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/Core/LateCC.hs
- + compiler/GHC/Core/LateCC/OverloadedCalls.hs
- + compiler/GHC/Core/LateCC/TopLevelBinds.hs
- + compiler/GHC/Core/LateCC/Types.hs
- + compiler/GHC/Core/LateCC/Utils.hs
- compiler/GHC/Core/Opt/Pipeline.hs
- compiler/GHC/Core/Predicate.hs
- compiler/GHC/Data/Bag.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Hooks.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/HsToCore/Match/Constructor.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Solver.hs
- compiler/GHC/Tc/Utils/TcType.hs
- compiler/GHC/Types/Error/Codes.hs
- compiler/GHC/Utils/Panic.hs
- compiler/ghc.cabal.in
- docs/users_guide/9.10.1-notes.rst
- docs/users_guide/9.8.1-notes.rst
- docs/users_guide/profiling.rst
- docs/users_guide/using-warnings.rst
- libraries/array
- libraries/base/base.cabal
- libraries/base/changelog.md
- libraries/base/src/Control/Exception.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5dcc5481a48f55d95ed12114e8eb31b405ec8039...6049c29119e98fe7155e70d3384f48ed7c8104ca

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5dcc5481a48f55d95ed12114e8eb31b405ec8039...6049c29119e98fe7155e70d3384f48ed7c8104ca
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/20240305/88e82b48/attachment-0001.html>


More information about the ghc-commits mailing list