summaryrefslogtreecommitdiff
path: root/compiler/ghc.cabal.in
diff options
context:
space:
mode:
authorDominik Peteler <haskell+gitlab@with-h.at>2022-07-04 23:47:16 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-07-22 08:18:40 -0400
commit9a3e1f316598f7d5072ed4f94437f759352580a5 (patch)
treef9286cb4014b4a1ca9d67afff241b54ca1340a9d /compiler/ghc.cabal.in
parent81d65f7f358fdbd1d13b89c43fc4cbe3ac82d24b (diff)
downloadhaskell-9a3e1f316598f7d5072ed4f94437f759352580a5.tar.gz
Refactored Simplify pass
* Removed references to driver from GHC.Core.LateCC, GHC.Core.Simplify namespace and GHC.Core.Opt.Stats. Also removed services from configuration records. * Renamed GHC.Core.Opt.Simplify to GHC.Core.Opt.Simplify.Iteration. * Inlined `simplifyPgm` and renamed `simplifyPgmIO` to `simplifyPgm` and moved the Simplify driver to GHC.Core.Opt.Simplify. * Moved `SimplMode` and `FloatEnable` to GHC.Core.Opt.Simplify.Env. * Added a configuration record `TopEnvConfig` for the `SimplTopEnv` environment in GHC.Core.Opt.Simplify.Monad. * Added `SimplifyOpts` and `SimplifyExprOpts`. Provide initialization functions for those in a new module GHC.Driver.Config.Core.Opt.Simplify. Also added initialization functions for `SimplMode` to that module. * Moved `CoreToDo` and friends to a new module GHC.Core.Pipeline.Types and the counting types and functions (`SimplCount` and `Tick`) to new module GHC.Core.Opt.Stats. * Added getter functions for the fields of `SimplMode`. The pedantic bottoms option and the platform are retrieved from the ArityOpts and RuleOpts and the getter functions allow us to retrieve values from `SpecEnv` without the knowledge where the data is stored exactly. * Moved the coercion optimization options from the top environment to `SimplMode`. This way the values left in the top environment are those dealing with monadic functionality, namely logging, IO related stuff and counting. Added a note "The environments of the Simplify pass". * Removed `CoreToDo` from GHC.Core.Lint and GHC.CoreToStg.Prep and got rid of `CoreDoSimplify`. Pass `SimplifyOpts` in the `CoreToDo` type instead. * Prep work before removing `InteractiveContext` from `HscEnv`.
Diffstat (limited to 'compiler/ghc.cabal.in')
-rw-r--r--compiler/ghc.cabal.in6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in
index dc6de716f7..b5d1b8d571 100644
--- a/compiler/ghc.cabal.in
+++ b/compiler/ghc.cabal.in
@@ -298,6 +298,7 @@ Library
GHC.Core.FVs
GHC.Core.InstEnv
GHC.Core.Lint
+ GHC.Core.Lint.Interactive
GHC.Core.LateCC
GHC.Core.Make
GHC.Core.Map.Expr
@@ -317,14 +318,17 @@ Library
GHC.Core.Opt.Monad
GHC.Core.Opt.OccurAnal
GHC.Core.Opt.Pipeline
+ GHC.Core.Opt.Pipeline.Types
GHC.Core.Opt.SetLevels
GHC.Core.Opt.Simplify
GHC.Core.Opt.Simplify.Env
+ GHC.Core.Opt.Simplify.Iteration
GHC.Core.Opt.Simplify.Monad
GHC.Core.Opt.Simplify.Utils
GHC.Core.Opt.SpecConstr
GHC.Core.Opt.Specialise
GHC.Core.Opt.StaticArgs
+ GHC.Core.Opt.Stats
GHC.Core.Opt.WorkWrap
GHC.Core.Opt.WorkWrap.Utils
GHC.Core.PatSyn
@@ -396,8 +400,10 @@ Library
GHC.Driver.Config.CmmToAsm
GHC.Driver.Config.CmmToLlvm
GHC.Driver.Config.Core.Lint
+ GHC.Driver.Config.Core.Lint.Interactive
GHC.Driver.Config.Core.Opt.Arity
GHC.Driver.Config.Core.Opt.LiberateCase
+ GHC.Driver.Config.Core.Opt.Simplify
GHC.Driver.Config.Core.Opt.WorkWrap
GHC.Driver.Config.Core.Rules
GHC.Driver.Config.CoreToStg.Prep