[Git][ghc/ghc][wip/T24634-oneshot-bytecode] 6 commits: haddock: include package info with --show-interface
Torsten Schmits (@torsten.schmits)
gitlab at gitlab.haskell.org
Thu Aug 22 16:09:37 UTC 2024
Torsten Schmits pushed to branch wip/T24634-oneshot-bytecode at Glasgow Haskell Compiler / GHC
Commits:
6fde3685 by Marcin Szamotulski at 2024-08-21T23:15:39-04:00
haddock: include package info with --show-interface
- - - - -
7e02111b by Andreas Klebinger at 2024-08-21T23:16:15-04:00
Document the (x86) SIMD macros.
Fixes #25021.
- - - - -
05116c83 by Rodrigo Mesquita at 2024-08-22T10:37:44-04:00
ghc-internal: Derive version from ghc's version
Fixes #25005
- - - - -
73f5897d by Ben Gamari at 2024-08-22T10:37:44-04:00
base: Deprecate GHC.Desugar
See https://github.com/haskell/core-libraries-committee/issues/216.
This will be removed in GHC 9.14.
- - - - -
821d0a9a by Cheng Shao at 2024-08-22T10:38:22-04:00
compiler: Store ForeignStubs and foreign C files in interfaces
This data is used alongside Core bindings to reconstruct intermediate
build products when linking Template Haskell splices with bytecode.
Since foreign stubs and files are generated in the pipeline, they were
lost with only Core bindings stored in interfaces.
The interface codec type `IfaceForeign` contains a simplified
representation of `ForeignStubs` and the set of foreign sources that
were manually added by the user.
When the backend phase writes an interface, `mkFullIface` calls
`encodeIfaceForeign` to read foreign source file contents and assemble
`IfaceForeign`.
After the recompilation status check of an upstream module,
`initWholeCoreBindings` calls `decodeIfaceForeign` to restore
`ForeignStubs` and write the contents of foreign sources to the file
system as temporary files.
The restored foreign inputs are then processed by `hscInteractive` in
the same manner as in a regular pipeline.
When linking the stub objects for splices, they are excluded from suffix
adjustment for the interpreter way through a new flag in `Unlinked`.
For details about these processes, please consult Note [Foreign stubs
and TH bytecode linking].
Metric Decrease:
T13701
- - - - -
023de157 by Cheng Shao at 2024-08-22T18:09:30+02:00
Link bytecode from interface-stored core bindings in oneshot mode
If the flag `-fprefer-byte-code` is given when compiling a module
containing TH, GHC will use core bindings stored in interfaces to
compile and link bytecode for splices.
This was only implemented for `--make` mode initially, so this commit
adds the same mechanism to oneshot mode (`-c`).
Metric Decrease:
MultiLayerModules
- - - - -
30 changed files:
- .gitignore
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/CoreToIface.hs
- compiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Main.hs
- + compiler/GHC/Driver/Main.hs-boot
- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/HsToCore/Usage.hs
- compiler/GHC/Iface/Load.hs
- compiler/GHC/Iface/Make.hs
- compiler/GHC/Iface/Recomp.hs
- compiler/GHC/IfaceToCore.hs
- compiler/GHC/Linker/Deps.hs
- compiler/GHC/Linker/Loader.hs
- compiler/GHC/Linker/Types.hs
- compiler/GHC/SysTools/Cpp.hs
- compiler/GHC/Tc/Gen/Splice.hs
- compiler/GHC/Unit/External.hs
- compiler/GHC/Unit/Finder.hs
- compiler/GHC/Unit/Module/ModIface.hs
- compiler/GHC/Unit/Module/WholeCoreBindings.hs
- docs/users_guide/phases.rst
- hadrian/cfg/system.config.in
- hadrian/src/Oracles/Setting.hs
- hadrian/src/Rules/Generate.hs
- libraries/base/base.cabal → libraries/base/base.cabal.in
- libraries/base/changelog.md
- libraries/base/src/GHC/Desugar.hs
- libraries/ghc-experimental/ghc-experimental.cabal → libraries/ghc-experimental/ghc-experimental.cabal.in
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/913575b316feeaef5d84b4a47f098044c1e74389...023de1570f0d6336399d27db3e966e4e0e04582e
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/913575b316feeaef5d84b4a47f098044c1e74389...023de1570f0d6336399d27db3e966e4e0e04582e
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/20240822/a4612b53/attachment-0001.html>
More information about the ghc-commits
mailing list