[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 41 commits: Release Notes: Add news from the pattern-match checker [skip ci]

Marge Bot gitlab at gitlab.haskell.org
Fri Jun 12 13:00:57 UTC 2020



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
4c7e9689 by Sebastian Graf at 2020-06-11T10:37:38+02:00
Release Notes: Add news from the pattern-match checker [skip ci]

- - - - -
36866cc6 by Sylvain Henry at 2020-06-12T09:00:43-04:00
Only test T16190 with the NCG

T16190 is meant to test a NCG feature. It has already caused spurious
failures in other MRs (e.g. !2165) when LLVM is used.

- - - - -
d31feab3 by Sylvain Henry at 2020-06-12T09:00:43-04:00
DynFlags refactoring VIII (#17957)

* Remove several uses of `sdocWithDynFlags`, especially in GHC.Llvm.*

* Add LlvmOpts datatype to store Llvm backend options

* Remove Outputable instances (for LlvmVar, LlvmLit, LlvmStatic and
  Llvm.MetaExpr) which require LlvmOpts.

* Rename ppMetaExpr into ppMetaAnnotExpr (pprMetaExpr is now used in place of `ppr :: MetaExpr -> SDoc`)

- - - - -
08b49b97 by Sylvain Henry at 2020-06-12T09:00:45-04:00
Remove unused code

- - - - -
dd71a588 by Sylvain Henry at 2020-06-12T09:00:45-04:00
Refactor homeUnit

* rename thisPackage into homeUnit
* document and refactor several Backpack things

- - - - -
c7aacfc6 by Sylvain Henry at 2020-06-12T09:00:45-04:00
Rename unsafeGetUnitInfo into unsafeLookupUnit

- - - - -
674ffc49 by Sylvain Henry at 2020-06-12T09:00:45-04:00
Add allowVirtualUnits field in PackageState

Instead of always querying DynFlags to know whether we are allowed to
use virtual units (i.e. instantiated on-the-fly, cf Note [About units]
in GHC.Unit), we store it once for all in
`PackageState.allowVirtualUnits`.

This avoids using DynFlags too much (cf #17957) and is preliminary work
for #14335.

- - - - -
3ee3ed1c by Sylvain Henry at 2020-06-12T09:00:45-04:00
Enhance UnitId use

* use UnitId instead of String to identify wired-in units
* use UnitId instead of Unit in the backend (Unit are only use by
  Backpack to produce type-checked interfaces, not real code)
* rename lookup functions for consistency
* documentation

- - - - -
e4ae567c by Sylvain Henry at 2020-06-12T09:00:46-04:00
Remove LinkerUnitId type alias

- - - - -
d0966642 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Refactor WiredMap

* Remove WiredInUnitId and WiredUnitId type aliases

- - - - -
5860abe4 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Document and refactor `mkUnit` and `mkUnitInfoMap`

- - - - -
abb10731 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Remove PreloadUnitId type alias

- - - - -
617f60cb by Sylvain Henry at 2020-06-12T09:00:46-04:00
Rename listUnitInfoMap into listUnitInfo

There is no Map involved

- - - - -
7a80e0ab by Sylvain Henry at 2020-06-12T09:00:46-04:00
Rename Package into Unit

The terminology changed over time and now package databases contain
"units" (there can be several units compiled from a single Cabal
package: one per-component, one for each option set, one per
instantiation, etc.). We should try to be consistent internally and use
"units": that's what this renaming does. Maybe one day we'll fix the UI
too (e.g. replace -package-id with -unit-id, we already have
-this-unit-id and ghc-pkg has -unit-id...) but it's not done in this
patch.

* rename getPkgFrameworkOpts into getUnitFrameworkOpts
* rename UnitInfoMap into ClosureUnitInfoMap
* rename InstalledPackageIndex into UnitInfoMap
* rename UnusablePackages into UnusableUnits
* rename PackagePrecedenceIndex into UnitPrecedenceMap
* rename PackageDatabase into UnitDatabase
* rename pkgDatabase into unitDatabases
* rename pkgState into unitState
* rename initPackages into initUnits
* rename renamePackage into renameUnitInfo
* rename UnusablePackageReason into UnusableUnitReason
* rename getPackage* into getUnit*
* etc.

- - - - -
70043034 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Make ClosureUnitInfoMap uses UnitInfoMap

- - - - -
b1005d0e by Sylvain Henry at 2020-06-12T09:00:46-04:00
Remove ClosureUnitInfoMap

- - - - -
27e48272 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Rename Package into Unit (2)

* rename PackageState into UnitState
* rename findWiredInPackages into findWiredInUnits
* rename lookupModuleInAll[Packages,Units]
* etc.

- - - - -
0a8e6920 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Move dump_mod_map into initUnits

- - - - -
803ddb5d by Sylvain Henry at 2020-06-12T09:00:46-04:00
Move wiring of homeUnitInstantiations outside of mkUnitState

- - - - -
b5a30b98 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Avoid timing module map dump in initUnits

- - - - -
63e65812 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Remove preload parameter of mkUnitState

* Remove preload parameter (unused)
* Don't explicitly return preloaded units: redundant because already
  returned as "preloadUnits" field of UnitState

- - - - -
68d0b3a6 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: refactor unwireUnit

- - - - -
2cab7376 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Document getPreloadUnitsAnd

- - - - -
f39345b2 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: remove useless add_package parameter

- - - - -
18f452b0 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: make listVisibleModuleNames take a UnitState

- - - - -
74c229f1 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Refactor and document add_package

- - - - -
1cedd8be by Sylvain Henry at 2020-06-12T09:00:46-04:00
Refactor and document closeUnitDeps

- - - - -
6fd506e3 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: findWiredInUnits

- - - - -
e43fd796 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: reportCycles, reportUnusable

- - - - -
673336f7 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: merge_databases

- - - - -
a335d2e7 by Sylvain Henry at 2020-06-12T09:00:46-04:00
DynFlags: add UnitConfig datatype

Avoid directly querying flags from DynFlags to build the UnitState.
Instead go via UnitConfig so that we could reuse this to make another
UnitState for plugins.

- - - - -
574eb110 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Move distrustAll into mkUnitState

- - - - -
d90f385f by Sylvain Henry at 2020-06-12T09:00:46-04:00
Create helper upd_wired_in_home_instantiations

- - - - -
cdcd84b3 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Put database cache in UnitConfig

- - - - -
dd8ec3cc by Sylvain Henry at 2020-06-12T09:00:46-04:00
Don't return preload units when we set DyNFlags

Preload units can be retrieved in UnitState when needed (i.e. in GHCi)

- - - - -
c5aa00ad by Sylvain Henry at 2020-06-12T09:00:46-04:00
NCGConfig: remove useless ncgUnitId field

- - - - -
f0bdb362 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Doc: fix some comments

- - - - -
d8198f86 by Sylvain Henry at 2020-06-12T09:00:46-04:00
Bump haddock submodule and allow metric decrease

Metric Decrease:
    T12150
    T12234
    T5837

Metric Increase:
    T16190

- - - - -
b200ca9a by Viktor Dukhovni at 2020-06-12T09:00:49-04:00
Add introductory prose for Data.Traversable

- - - - -
069db244 by Oleg Grenrus at 2020-06-12T09:00:51-04:00
Fix #12073: Add MonadFix Q instance

- - - - -
5101a4a4 by Ben Gamari at 2020-06-12T09:00:51-04:00
testsuite: Increase size of T12150

As noted in #18319, this test was previously very fragile. Increase its
size to make it more likely that its fails with its newly-increased
acceptance threshold.

Metric Increase:
    T12150

- - - - -


30 changed files:

- compiler/GHC.hs
- compiler/GHC/Builtin/Names.hs
- compiler/GHC/Builtin/Names/TH.hs
- compiler/GHC/ByteCode/Linker.hs
- compiler/GHC/Cmm/CLabel.hs
- compiler/GHC/Cmm/Parser.y
- compiler/GHC/CmmToAsm/Config.hs
- compiler/GHC/CmmToAsm/Monad.hs
- compiler/GHC/CmmToLlvm.hs
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/CmmToLlvm/CodeGen.hs
- compiler/GHC/CmmToLlvm/Data.hs
- compiler/GHC/CmmToLlvm/Ppr.hs
- compiler/GHC/Core/Opt/WorkWrap/Utils.hs
- compiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Finder.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/MakeFile.hs
- compiler/GHC/Driver/Pipeline.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Driver/Session.hs-boot
- compiler/GHC/Driver/Types.hs
- compiler/GHC/HsToCore.hs
- compiler/GHC/HsToCore/Coverage.hs
- compiler/GHC/HsToCore/Usage.hs
- compiler/GHC/Iface/Load.hs
- compiler/GHC/Iface/Make.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/597eded3e700f383e6f7dc8cb277620c2a477884...5101a4a4315b629171eaa7dc1bf4fdd82d5553ed

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/597eded3e700f383e6f7dc8cb277620c2a477884...5101a4a4315b629171eaa7dc1bf4fdd82d5553ed
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/20200612/3a6c58ae/attachment-0001.html>


More information about the ghc-commits mailing list