[Git][ghc/ghc][wip/T22077] 16 commits: Recognize file-header pragmas in GHCi (#21507)

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Thu Aug 25 13:54:49 UTC 2022



Ben Gamari pushed to branch wip/T22077 at Glasgow Haskell Compiler / GHC


Commits:
9939e95f by MorrowM at 2022-08-21T16:51:38-04:00
Recognize file-header pragmas in GHCi (#21507)

- - - - -
fb7c2d99 by Matthew Pickering at 2022-08-21T16:52:13-04:00
hadrian: Fix bootstrapping with ghc-9.4

The error was that we were trying to link together

    containers from boot package library (which depends template-haskell in boot package library)
    template-haskell from in-tree package database

So the fix is to build containers in stage0 (and link against template-haskell built in stage0).

Fixes #21981

- - - - -
b946232c by Mario Blažević at 2022-08-22T22:06:21-04:00
Added pprType with precedence argument, as a prerequisite to fix issues #21723 and #21942.

* refines the precedence levels, adding `qualPrec` and `funPrec` to better control parenthesization
* `pprParendType`, `pprFunArgType`, and `instance Ppr Type` all just call `pprType` with proper precedence
* `ParensT` constructor is now always printed parenthesized
* adds the precedence argument to `pprTyApp` as well, as it needs to keep track and pass it down
* using `>=` instead of former `>` to match the Core type printing logic
* some test outputs have changed, losing extraneous parentheses

- - - - -
fe4ff0f7 by Mario Blažević at 2022-08-22T22:06:21-04:00
Fix and test for issue #21723

- - - - -
33968354 by Mario Blažević at 2022-08-22T22:06:21-04:00
Test for issue #21942

- - - - -
c9655251 by Mario Blažević at 2022-08-22T22:06:21-04:00
Updated the changelog

- - - - -
80102356 by Ben Gamari at 2022-08-22T22:06:57-04:00
hadrian: Don't duplicate binaries on installation

Previously we used `install` on symbolic links, which ended up
copying the target file rather than installing a symbolic link.

Fixes #22062.

- - - - -
b929063e by M Farkas-Dyck at 2022-08-24T02:37:01-04:00
Unbreak Haddock comments in `GHC.Core.Opt.WorkWrap.Utils`.

Closes #22092.

- - - - -
112e4f9c by Cheng Shao at 2022-08-24T02:37:38-04:00
driver: don't actually merge objects when ar -L works

- - - - -
a9f0e68e by Ben Gamari at 2022-08-24T02:38:13-04:00
rts: Consistently use MiB in stats output

Previously we would say `MB` even where we
meant `MiB`.
- - - - -
f7e86444 by Ben Gamari at 2022-08-25T09:34:44-04:00
rts: Add missing declarations

- - - - -
de2f1b5f by Ben Gamari at 2022-08-25T09:34:44-04:00
base: Move CString, CStringLen to GHC.Foreign

- - - - -
df75e530 by Ben Gamari at 2022-08-25T09:34:44-04:00
base: Move IPE helpers to GHC.InfoProv

- - - - -
1b42b0a1 by Ben Gamari at 2022-08-25T09:34:44-04:00
rts: Refactor IPE tracing support

- - - - -
1141ef1c by Ben Gamari at 2022-08-25T09:54:44-04:00
Refactor IPE initialization

Here we refactor the representation of info table provenance information
in object code to significantly reduce its size and link-time impact.
Specifically, we deduplicate strings and represent them as 32-bit
offsets into a common string table.

In addition, we rework the registration logic to eliminate allocation
from the registration path, which is run from a static initializer where
things like allocation are technically undefined behavior (although it
did previously seem to work). For similar reasons we eliminate lock
usage from registration path, instead relying on atomic CAS.

Closes #22077.

- - - - -
1864cd27 by Ben Gamari at 2022-08-25T09:54:44-04:00
Separate IPE source file from span

The source file name can very often be shared across many IPE entries
whereas the source coordinates are generally unique. Separate the two to
exploit sharing of the former.

- - - - -


30 changed files:

- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/Core/Opt/WorkWrap/Utils.hs
- compiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Pipeline/Execute.hs
- + compiler/GHC/StgToCmm/InfoTableProv.hs
- compiler/GHC/StgToCmm/Prof.hs
- compiler/ghc.cabal.in
- docs/users_guide/9.6.1-notes.rst
- docs/users_guide/ghci.rst
- ghc/GHCi/UI.hs
- hadrian/bindist/Makefile
- hadrian/src/Settings/Default.hs
- libraries/base/Foreign/C/String.hs
- libraries/base/GHC/Foreign.hs
- + libraries/base/GHC/InfoProv.hsc
- libraries/base/GHC/Stack/CCS.hsc
- libraries/base/GHC/Stack/CloneStack.hs
- libraries/base/base.cabal
- libraries/template-haskell/Language/Haskell/TH/Ppr.hs
- libraries/template-haskell/changelog.md
- rts/IPE.c
- rts/IPE.h
- rts/RtsStartup.c
- rts/Stats.c
- rts/Trace.c
- rts/Trace.h
- rts/eventlog/EventLog.c
- rts/eventlog/EventLog.h


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/782c6196cc3b0014221a7cb6ba9ce46b99ca114d...1864cd27cb51092d71d21f39e1fef550037ef635

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/782c6196cc3b0014221a7cb6ba9ce46b99ca114d...1864cd27cb51092d71d21f39e1fef550037ef635
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/20220825/260e53f9/attachment.html>


More information about the ghc-commits mailing list