[Git][ghc/ghc][wip/ghc-debug] 94 commits: .gitignore *.hiedb files

David Eichmann gitlab at gitlab.haskell.org
Tue Oct 13 12:07:04 UTC 2020



David Eichmann pushed to branch wip/ghc-debug at Glasgow Haskell Compiler / GHC


Commits:
6abe4a1c by Sebastian Graf at 2020-09-10T17:02:00+02:00
.gitignore *.hiedb files

- - - - -
3777be14 by Sebastian Graf at 2020-09-10T17:03:12+02:00
PmCheck: Handle ⊥ and strict fields correctly (#18341)

In #18341, we discovered an incorrect digression from Lower Your Guards.
This MR changes what's necessary to support properly fixing #18341.

In particular, bottomness constraints are now properly tracked in the
oracle/inhabitation testing, as an additional field
`vi_bot :: Maybe Bool` in `VarInfo`. That in turn allows us to
model newtypes as advertised in the Appendix of LYG and fix #17725.
Proper handling of ⊥ also fixes #17977 (once again) and fixes #18670.

For some reason I couldn't follow, this also fixes #18273.

I also added a couple of regression tests that were missing. Most of
them were already fixed before.

In summary, this patch fixes #18341, #17725, #18273, #17977 and #18670.

Metric Decrease:
    T12227

- - - - -
1bd28931 by David Himmelstrup at 2020-09-11T09:59:43-04:00
Define TICKY_TICKY when compiling cmm RTS files.

- - - - -
15e67801 by David Himmelstrup at 2020-09-11T09:59:43-04:00
Fix typos in TICKY_TICKY symbol names.

- - - - -
8a5a91cb by David Himmelstrup at 2020-09-11T09:59:43-04:00
Enable TICKY_TICKY for debug builds when building with makefiles.

- - - - -
fc965c09 by Sandy Maguire at 2020-09-12T00:31:36-04:00
Add clamp function to Data.Ord

- - - - -
fb6e29e8 by Sandy Maguire at 2020-09-12T00:31:37-04:00
Add tests

- - - - -
2a942285 by Sebastian Graf at 2020-09-12T00:32:13-04:00
PmCheck: Disattach COMPLETE pragma lookup from TyCons

By not attaching COMPLETE pragmas with a particular TyCon and instead
assume that every COMPLETE pragma is applicable everywhere, we can
drastically simplify the logic that tries to initialise available
COMPLETE sets of a variable during the pattern-match checking process,
as well as fixing a few bugs.

Of course, we have to make sure not to report any of the
ill-typed/unrelated COMPLETE sets, which came up in a few regression
tests.

In doing so, we fix #17207, #18277 and #14422.

There was a metric decrease in #18478 by ~20%.

Metric Decrease:
    T18478

- - - - -
389a6683 by Ben Gamari at 2020-09-12T00:32:49-04:00
hadrian: Pass input file to makeindex

Strangely I find that on Alpine (and apparently only on Alpine) the
latex makeindex command expects to be given a filename, lest it reads
from stdin.

- - - - -
853d121a by Ryan Scott at 2020-09-12T00:33:25-04:00
Don't quote argument to Hadrian's test-env flag (#18656)

Doing so causes the name of the test environment to gain an extra
set of double quotes, which changes the name entirely.

Fixes #18656.

- - - - -
8440b5fa by Krzysztof Gogolewski at 2020-09-12T00:33:25-04:00
Make sure we can read past perf notes

See #18656.

- - - - -
2157be52 by theobat at 2020-09-12T21:27:04-04:00
Avoid iterating twice in `zipTyEnv` (#18535)

zipToUFM is a new function to replace `listToUFM (zipEqual ks vs)`.
An explicit recursion is preferred due to the sensible nature of fusion.

    T12227 -6.0%
    T12545 -12.3%
    T5030  -9.0%
    T9872a -1.6%
    T9872b -1.6%
    T9872c -2.0%

 -------------------------
Metric Decrease:
    T12227
    T12545
    T5030
    T9872a
    T9872b
    T9872c
-------------------------

- - - - -
69ea2fee by Sebastian Graf at 2020-09-12T21:27:40-04:00
Make `tcCheckSatisfiability` incremental (#18645)

By taking and returning an `InertSet`.
Every new `TcS` session can then pick up where a prior session left with
`setTcSInerts`.

Since we don't want to unflatten the Givens (and because it leads to
infinite loops, see !3971), we introduced a new variant of `runTcS`,
`runTcSInerts`, that takes and returns the `InertSet` and makes
sure not to unflatten the Givens after running the `TcS` action.

Fixes #18645 and #17836.

Metric Decrease:
    T17977
    T18478

- - - - -
a77e48d2 by Sebastian Graf at 2020-09-12T21:27:40-04:00
Extract definition of DsM into GHC.HsToCore.Types

`DsM` was previously defined in `GHC.Tc.Types`, along with `TcM`. But
`GHC.Tc.Types` is in the set of transitive dependencies of `GHC.Parser`,
a set which we aim to minimise. Test case `CountParserDeps` checks for
that.

Having `DsM` in that set means the parser also depends on the innards of
the pattern-match checker in `GHC.HsToCore.PmCheck.Types`, which is the
reason we have that module in the first place.

In the previous commit, we represented the `TyState` by an `InertSet`,
but that pulls the constraint solver as well as 250 more modules into
the set of dependencies, triggering failure of `CountParserDeps`.
Clearly, we want to evolve the pattern-match checker (and the desugarer)
without being concerned by this test, so this patch includes a small
refactor that puts `DsM` into its own module.

- - - - -
fd5d622a by Sebastian Graf at 2020-09-12T21:27:40-04:00
Hackily decouple the parser from the desugarer

In a hopefully temporary hack, I re-used the idea from !1957 of using a
nullary type family to break the dependency from GHC.Driver.Hooks on the
definition of DsM ("Abstract Data").
This in turn broke the last dependency from the parser to the desugarer.
More details in `Note [The Decoupling Abstract Data Hack]`.

In the future, we hope to undo this hack again in favour of breaking the
dependency from the parser to DynFlags altogether.

- - - - -
35a7b7ec by Adam Sandberg Eriksson at 2020-09-14T17:46:16-04:00
docs: -B rts option sounds the bell on every GC (#18351)
- - - - -
5ae8212c by Wander Hillen at 2020-09-14T17:46:54-04:00
Populate gitlab cache after building

- - - - -
a5ffb39a by Wander Hillen at 2020-09-14T17:46:54-04:00
Move ahead cabal cache restoration to before use of cabal

- - - - -
e8b37c21 by Wander Hillen at 2020-09-14T17:46:54-04:00
Do the hadrian rebuild multicore

- - - - -
07762eb5 by Wander Hillen at 2020-09-14T17:46:54-04:00
Also cache other hadrian builds

- - - - -
8610bcbe by DenisFrezzato at 2020-09-15T15:19:08-04:00
Fix rtsopts documentation

- - - - -
c7182a5c by Simon Peyton Jones at 2020-09-15T15:19:44-04:00
Care with implicit-parameter superclasses

Two bugs, #18627 and #18649, had the same cause: we were not
account for the fact that a constaint tuple might hide an implicit
parameter.

The solution is not hard: look for implicit parameters in
superclasses.  See Note [Local implicit parameters] in
GHC.Core.Predicate.

Then we use this new function in two places

* The "short-cut solver" in GHC.Tc.Solver.Interact.shortCutSolver
  which simply didn't handle implicit parameters properly at all.
  This fixes #18627

* The specialiser, which should not specialise on implicit parameters
  This fixes #18649

There are some lingering worries (see Note [Local implicit
parameters]) but things are much better.

- - - - -
0f3884b0 by Zubin Duggal at 2020-09-15T15:20:23-04:00
Export enrichHie from GHC.Iface.Ext.Ast

This is useful for `ghcide`

- - - - -
b3143f5a by Sylvain Henry at 2020-09-15T15:21:06-04:00
Enhance metrics output

- - - - -
4283feaa by Ryan Scott at 2020-09-15T15:21:43-04:00
Introduce and use DerivClauseTys (#18662)

This switches `deriv_clause_tys` so that instead of using a list of
`LHsSigType`s to represent the types in a `deriving` clause, it now
uses a sum type. `DctSingle` represents a `deriving` clause with no
enclosing parentheses, while `DctMulti` represents a clause with
enclosing parentheses. This makes pretty-printing easier and avoids
confusion between `HsParTy` and the enclosing parentheses in
`deriving` clauses, which are different semantically.

Fixes #18662.

- - - - -
90229c4b by Ryan Scott at 2020-09-16T04:53:22-04:00
Include -f{write,validate}-ide-info in the User's Guide flag reference

Previously, these were omitted from the flag reference due to a
layout oversight in `docs/users_guide/flags.{rst,py}`.

Fixes #18426.

- - - - -
ce42e187 by Ben Gamari at 2020-09-16T04:53:59-04:00
rts: Fix erroneous usage of vsnprintf

As pointed out in #18685, this should be snprintf not vsnprintf. This
appears to be due to a cut-and-paste error.

Fixes #18658.

- - - - -
b695e7d7 by Sylvain Henry at 2020-09-16T04:54:38-04:00
Rename ghci flag into internal-interpreter

"ghci" as a flag name was confusing because it really enables the
internal-interpreter. Even the ghci library had a "ghci" flag...

- - - - -
8af954d2 by Sylvain Henry at 2020-09-16T04:55:17-04:00
Make ghc-boot reexport modules from ghc-boot-th

Packages don't have to import both ghc-boot and ghc-boot-th. It makes
the dependency graph easier to understand and to refactor.

- - - - -
6baa67f5 by Adam Sandberg Eriksson at 2020-09-16T07:45:47-04:00
docs: correct haddock reference

[skip ci]
- - - - -
7cf09ab0 by Simon Peyton Jones at 2020-09-17T01:27:25-04:00
Do absence analysis on stable unfoldings

Ticket #18638 showed that Very Bad Things happen if we fail
to do absence analysis on stable unfoldings.  It's all described
in Note [Absence analysis for stable unfoldings and RULES].

I'm a bit surprised this hasn't bitten us before. Fortunately
the fix is pretty simple.

- - - - -
76d3bcbc by Leif Metcalf at 2020-09-17T01:28:01-04:00
Replace deprecated git --recursive

The --recursive flag of git-clone has been replaced by the
--recurse-submodules flag since git 1.7.4, released in 2011.
- - - - -
da8f4ddd by Richard Eisenberg at 2020-09-17T01:28:38-04:00
Document IfaceTupleTy

- - - - -
3c94c816 by HaskellMouse at 2020-09-17T08:49:51-04:00
Added explicit fixity to (~).

Solves #18252

- - - - -
b612e396 by Cary Robbins at 2020-09-17T08:50:30-04:00
Make the 'IsString (Const a b)' instance polykinded on 'b'

- - - - -
8d0c26c4 by Ben Gamari at 2020-09-17T08:51:08-04:00
rts/win32: Fix missing #include's

These slipped through CI.

- - - - -
76009ec8 by Ben Gamari at 2020-09-17T08:51:08-04:00
Bump Win32 submodule to 2.9.0.0

Also bumps Cabal, directory

- - - - -
147bb598 by Ben Gamari at 2020-09-17T08:51:08-04:00
Bump version to 9.0

Bumps haskeline and haddock submodules.

(cherry picked from commit f218cfc92f7b1a1e01190851972bb9a0e0f3c682)

- - - - -
5c7387f6 by Leif Metcalf at 2020-09-17T08:51:43-04:00
Make Z-encoding comment into a note

- - - - -
c12b3041 by Leif Metcalf at 2020-09-17T08:51:43-04:00
Cosmetic

- - - - -
4f461e1a by Vladislav Zavialov at 2020-09-17T08:52:19-04:00
Parser.y: clarify treatment of @{-# UNPACK #-}

Before this patch, we had this parser production:

	ftype : ...
	      | ftype PREFIX_AT tyarg  { ... }

And 'tyarg' is defined as follows:

	tyarg : atype              { ... }
	      | unpackedness atype { ... }

So one might get the (false) impression that that parser production is
intended to parse things like:

	F @{-# UNPACK #-} X

However, the lexer wouldn't produce PREFIX_AT followed by 'unpackedness',
as the '@' operator followed by '{-' is not considered prefix.

Thus there's no point using 'tyarg' after PREFIX_AT,
and a simple 'atype' will suffice:

	ftype : ...
	      | ftype PREFIX_AT atype  { ... }

This change has no user-facing consequences. It just makes the grammar a
bit more clear.

- - - - -
9dec8600 by Benjamin Maurer at 2020-09-17T08:52:56-04:00
Documented '-m' flags for machine specific instruction extensions.
See #18641 'Documenting the Expected Undocumented Flags'

- - - - -
46f02c80 by Matthew Pickering at 2020-10-13T12:37:18+01:00
rts: Implement ghc-debug API (#18405)

There are four components to this patch which make it possible to
implement `ghc-debug`.

1. Add four new functions to the RtsAPI.
  * rts_pause and rts_unpause allow an external process to completely
  pause and unpause the RTS.
  * rts_listThreads and rts_listMiscRoots are used to find the current
  roots of the garbage collector.

These changes also mean that `Task.h` is exposed to the user.

2. Generalise the `ghc-heap` API so that raw `Word`s can be returned
rather than actual objects. This is necessary when trying to decode
closures on an external process because the pointers in such closures
are correct for the internal rather than external process. If you used
the previous API then you would get a segfault as the garbage collector
would try to traverse into these nonsensical branches.

```
-- before
getClosureData :: a -> IO Closure
-- after
getClosureDataX :: (forall c . c -> IO (Ptr StgInfoTable, [Word], [b]))
	                      -> a -> IO (GenClosure b)
```

For the normal case `b` is instantiated to `Box`, which contains a
pointer to a heap object.

```
data Box = Box a

-- GenClosure Box
```

For `ghc-debug` we instead just take the word of the address as we have
to explicitly interpret it on the external process.

```
GenClosure Word
```

3. Support for decoding `TSO` and `STACK` closures is partially
implemented. There is still quite a bit of work to do to finish both but
these at least allow us to make some more progress.

4. findPtr is generalised to take a callback argument. This means that
its result can be communicated to the debugger rather than just printing
out the result. The debugger has a function which invokes `findPtr` and
passes a callback which sends the result over a socket.

Co-authored-by: Ben Gamari <ben at smart-cactus.org>

- - - - -
a60279c0 by Sven Tennie at 2020-10-13T12:37:18+01:00
Decode more StgTSO and StgStack fields (#18405)

Use hsc2hs to get an understandable and stable mapping from the C
structs to Haskell.

It's important to keep StgTSO and StgStack decoding downwards
compatible. This is especially needed for hadrian/ghci.

- - - - -
333e48a5 by Sven Tennie at 2020-10-13T12:37:18+01:00
Add test for StgTSO decoding (#18405)

This makes sure ghc-heap decodes StgTSO and StgStack correctly.

To assert - otherwise dynamic - properties, a new, non-running TSO is
created in create_tso() (create_tso.c).

size is renamed to stack_size to use a dedicated type.

size was already defined as a HalfWord in GenClosure, which is
only equivalent to Word32 on 64bit architectures.

- - - - -
6180fd8c by Sven Tennie at 2020-10-13T12:37:18+01:00
Add documentation to ghc-debug functions (#18405)

- - - - -
523dd89e by Sven Tennie at 2020-10-13T12:37:18+01:00
Adjust type of getClosureX to type of getClosureDataX (#18405)

After a rebase the compiler complained:

libraries/ghc-heap/GHC/Exts/Heap.hs:89:23: error:
    • Couldn't match type: a -> IO (Ptr StgInfoTable, [Word], [b])
                     with: forall c. c -> IO (Ptr StgInfoTable, [Word], [b])
      Expected: (forall c. c -> IO (Ptr StgInfoTable, [Word], [b]))
                -> a -> IO (GenClosure b)
        Actual: (a -> IO (Ptr StgInfoTable, [Word], [b]))
                -> a -> IO (GenClosure b)
    • In the expression: getClosureX
      In an equation for ‘getClosureDataX’: getClosureDataX = getClosureX
      In the instance declaration for ‘HasHeapRep a’
    • Relevant bindings include
        getClosureDataX :: (forall c.
                            c -> IO (Ptr StgInfoTable, [Word], [b]))
                           -> a -> IO (GenClosure b)
          (bound at libraries/ghc-heap/GHC/Exts/Heap.hs:89:5)
   |
89 |     getClosureDataX = getClosureX
   |                       ^^^^^^^^^^^
)

- - - - -
8520bf2e by Sven Tennie at 2020-10-13T12:37:19+01:00
Add test for rts_pause and rts_unpause (#18405)

- - - - -
babbf82e by Sven Tennie at 2020-10-13T12:37:19+01:00
Add test list_threads_and_misc_roots (#18405)

It uses rts_listThreads() and rts_listMiscRoots().

- - - - -
b9d8aaed by Sven Tennie at 2020-10-13T12:37:19+01:00
Introduce rts_isPaused() (#18405)

Some operations are only save when the RTS is paused. This predicate
helps to make such checks.

- - - - -
f0f6514b by Sven Tennie at 2020-10-13T12:37:19+01:00
Decode CostCentreStacks, CostCentres and InfoTables (#18405)

These are the data structures used by profiling, i.e. they are only
available when the RTS is used with `-prof`. Otherwise fetching them
results into `Nothing`.

To reduce unnecessary decoding, a state monad transformer is used to
provide caching for CostCentres.

Because the three types form a circular data structure, loop-breakers
are applied to prevent endless decoding loops.

- - - - -
50999318 by Sven Tennie at 2020-10-13T12:37:19+01:00
Use more precise types in tests (#18405)

Use `Ptr ()` instead of `Word` to communicate that addresses/pointers
are meant.

- - - - -
f9202cc1 by Sven Tennie at 2020-10-13T12:37:19+01:00
Introduce LiftedClosure (#18405)

This is a representation for closures that do not have a representation
in the Haskell language. I.e. things like StgTSOs.

- - - - -
29884e67 by Sven Tennie at 2020-10-13T12:37:19+01:00
Expect stack_marking starting from GHC 8.10 (#18405)

This field was introduced with GHC 8.10.

- - - - -
6dc5a7a2 by Sven Tennie at 2020-10-13T12:37:19+01:00
Add WhatNext, WhyBlocked and TsoFlags to TSO closure (#18405)

These constants can easily be decoded to sum types.

Additionally extract TestUtils with common test functions.

- - - - -
655fa05e by Sven Tennie at 2020-10-13T12:37:19+01:00
END_TSO_QUEUE is not a closure type on it's own (#18405)

Indeed it's a CONSTR_NOCAF.

- - - - -
864ef7ae by Sven Tennie at 2020-10-13T12:37:19+01:00
Rename boundTaskExiting and getTask (#18405)

Both are directly related to myTask, which the new names now reflect.

- - - - -
9e929330 by Sven Tennie at 2020-10-13T12:37:19+01:00
Mark unsafe accesses (#18405)

StgTSO and StgStack are very dynamic by nature. Accesses to outdated
pointers lead to segmentation faults or absolutely wrong results.

So, make sure (by naming) that the users nows about these facts.

The safe way to access these fields it to stop the RTS via RTS API.

- - - - -
bc9b4d8b by Sven Tennie at 2020-10-13T12:37:19+01:00
Check pointers with pattern matching (#18405)

This is nicer than to check the length of the pointer's list and index
on it.

- - - - -
b44d37ea by Sven Tennie at 2020-10-13T12:37:19+01:00
Remove unsave function (#18405)

heap_view_closurePtrsAsWords is currently only used by ghc-debug, so
it can be defined there.

- - - - -
2e10a6dc by Sven Tennie at 2020-10-13T12:37:19+01:00
Define a public API for Printer.c (#18405)

The RtsAPI contains functions to inspect the heap. The published
Printer.c functions help to print the found closures.

- - - - -
6d985ce9 by Sven Tennie at 2020-10-13T12:37:19+01:00
Do not require ClosureTypes to be Bounded (#18405)

A small change to list_threads_and_misc_roots.hs and being Bounded
isn't necessary anymore.

- - - - -
584eacb1 by Sven Tennie at 2020-10-13T12:37:19+01:00
Assure RTS is not paused after rts_unpause() (#18405)

Assert this invariant in tests.

- - - - -
1533e5ae by David Eichmann at 2020-10-13T12:37:19+01:00
Use `exitMyTask()` instead of `freeTask()` in `rts_unpause()`

- - - - -
5373ca52 by David Eichmann at 2020-10-13T12:37:19+01:00
Correct documentation for Task_::stopped

- - - - -
c7d0049d by David Eichmann at 2020-10-13T12:37:19+01:00
Improve documentation

- - - - -
042dd894 by David Eichmann at 2020-10-13T12:37:19+01:00
Record and restor owned capability on pause/unpause

- - - - -
c0cc0965 by David Eichmann at 2020-10-13T12:37:19+01:00
Add tests for calling ghc-debug API via safe/unsafe FFI call and via a new thread

- - - - -
b96af02c by David Eichmann at 2020-10-13T12:37:19+01:00
Remove addition of findPtrCb and related changes

- - - - -
6db3dafb by David Eichmann at 2020-10-13T12:37:19+01:00
Rename rts_unpause to rts_resume

- - - - -
936634db by David Eichmann at 2020-10-13T12:37:19+01:00
Simplify and speedup test

- - - - -
70f2703c by David Eichmann at 2020-10-13T12:37:19+01:00
WIP Clarify multi-threaded behavior and correct usage of the ghc-debug API

- - - - -
49cfd897 by David Eichmann at 2020-10-13T12:37:19+01:00
Fix list_threads_and_misc_roots test

- - - - -
6609a3be by David Eichmann at 2020-10-13T12:37:19+01:00
Allow rts_pause to be called multiple times from the same thread

- - - - -
14404f81 by David Eichmann at 2020-10-13T12:37:19+01:00
Return a Capability from rts_pause to allow use of other RtsAPI.h functions

- - - - -
c6016cb6 by David Eichmann at 2020-10-13T12:37:20+01:00
Replace uint with unsigned int. Needed for validate-x86_64-darwin build.

- - - - -
591381f6 by David Eichmann at 2020-10-13T12:37:20+01:00
Fix warnings

- - - - -
6067cf6c by David Eichmann at 2020-10-13T12:37:20+01:00
Error instead of deadlock when calling rts_lock after rts_pause

- - - - -
3a8ccb27 by David Eichmann at 2020-10-13T12:37:20+01:00
Move and rewrite NOTE on RtsAPI thread safety

- - - - -
b5d863dc by David Eichmann at 2020-10-13T12:37:20+01:00
Correct RtsAPI documentation

- - - - -
dd374603 by David Eichmann at 2020-10-13T12:37:20+01:00
Remove transformers dependency from ghc-heap

- - - - -
2ef6a896 by David Eichmann at 2020-10-13T12:37:20+01:00
Move ptrToInt to GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled

- - - - -
303f456d by David Eichmann at 2020-10-13T12:37:20+01:00
Simplify getClosureDataX and rename to getClosureDataWith

- - - - -
d8d9d0da by David Eichmann at 2020-10-13T12:37:20+01:00
Add documentation to StgStack

- - - - -
0d520cd8 by David Eichmann at 2020-10-13T12:37:20+01:00
Remove unneeded local variables in unpackClosure# primop

- - - - -
b2e84fcb by David Eichmann at 2020-10-13T12:37:20+01:00
Refactor ghc-heap to allow decoding TSO/STACK closures

* Remove getClosureDataWith in favour of the old simpler getClosureData
* Added getClosureDataFromHeapRep which is used by getClosureData and
  can be reused by ghc-debug

- - - - -
10ccf75f by David Eichmann at 2020-10-13T12:37:20+01:00
Support STACK closures in collect_pointers()

- - - - -
92408a0d by David Eichmann at 2020-10-13T12:37:20+01:00
Update documentation

- - - - -
16bd48bf by David Eichmann at 2020-10-13T12:37:20+01:00
Update documentation

- - - - -
0293b5ac by David Eichmann at 2020-10-13T12:37:20+01:00
Remove LiftedClosure. Use Any instead.

- - - - -
3f969029 by David Eichmann at 2020-10-13T12:37:20+01:00
Remove first argument to peekTSOFields. Always use peekStgTSOProfInfo.

- - - - -
01ebe65c by David Eichmann at 2020-10-13T12:37:20+01:00
Comobine prof_info tso_and_stack_closures test and test getClosureDataFromHeapRep

- - - - -
59c9f6b3 by David Eichmann at 2020-10-13T12:37:20+01:00
Remove stack_spOffset and test for TSO closure flags

- - - - -
5e6e8617 by David Eichmann at 2020-10-13T12:37:20+01:00
Add missing EOL

- - - - -


27 changed files:

- .gitignore
- .gitlab-ci.yml
- README.md
- compiler/GHC/ByteCode/Types.hs
- compiler/GHC/Core/DataCon.hs
- compiler/GHC/Core/FVs.hs
- compiler/GHC/Core/Opt/DmdAnal.hs
- compiler/GHC/Core/Opt/Specialise.hs
- compiler/GHC/Core/Predicate.hs
- compiler/GHC/Core/TyCo/Subst.hs
- compiler/GHC/Data/Bag.hs
- compiler/GHC/Data/FastString.hs
- compiler/GHC/Driver/Hooks.hs
- compiler/GHC/Driver/Types.hs
- compiler/GHC/Hs/Decls.hs
- compiler/GHC/Hs/Extension.hs
- compiler/GHC/Hs/Instances.hs
- compiler/GHC/HsToCore.hs
- compiler/GHC/HsToCore/Binds.hs
- compiler/GHC/HsToCore/Docs.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/GuardedRHSs.hs
- compiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/Monad.hs
- compiler/GHC/HsToCore/PmCheck.hs
- compiler/GHC/HsToCore/PmCheck/Oracle.hs
- compiler/GHC/HsToCore/PmCheck/Ppr.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/9988a0db0fcf91103697bef5889c98fd8214ae9f...5e6e86177678664da6f2ea7f977412e38eabbad3

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/9988a0db0fcf91103697bef5889c98fd8214ae9f...5e6e86177678664da6f2ea7f977412e38eabbad3
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/20201013/24c1190c/attachment-0001.html>


More information about the ghc-commits mailing list