diff options
author | Sylvain Henry <sylvain@haskus.fr> | 2020-10-15 17:55:34 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-10-29 03:53:52 -0400 |
commit | 0e9f6defbdc1f691ff7197b21e68ac16ffa4ab59 (patch) | |
tree | 1c9d9848db07596c19221fd195db81cdf6430385 /compiler/ghc.cabal.in | |
parent | 795908dc4eab8e8b40cb318a2adbe4a4d4126c74 (diff) | |
download | haskell-0e9f6defbdc1f691ff7197b21e68ac16ffa4ab59.tar.gz |
Split GHC.Driver.Types
I was working on making DynFlags stateless (#17957), especially by
storing loaded plugins into HscEnv instead of DynFlags. It turned out to
be complicated because HscEnv is in GHC.Driver.Types but LoadedPlugin
isn't: it is in GHC.Driver.Plugins which depends on GHC.Driver.Types. I
didn't feel like introducing yet another hs-boot file to break the loop.
Additionally I remember that while we introduced the module hierarchy
(#13009) we talked about splitting GHC.Driver.Types because it contained
various unrelated types and functions, but we never executed. I didn't
feel like making GHC.Driver.Types bigger with more unrelated Plugins
related types, so finally I bit the bullet and split GHC.Driver.Types.
As a consequence this patch moves a lot of things. I've tried to put
them into appropriate modules but nothing is set in stone.
Several other things moved to avoid loops.
* Removed Binary instances from GHC.Utils.Binary for random compiler
things
* Moved Typeable Binary instances into GHC.Utils.Binary.Typeable: they
import a lot of things that users of GHC.Utils.Binary don't want to
depend on.
* put everything related to Units/Modules under GHC.Unit:
GHC.Unit.Finder, GHC.Unit.Module.{ModGuts,ModIface,Deps,etc.}
* Created several modules under GHC.Types: GHC.Types.Fixity, SourceText,
etc.
* Split GHC.Utils.Error (into GHC.Types.Error)
* Finally removed GHC.Driver.Types
Note that this patch doesn't put loaded plugins into HscEnv. It's left
for another patch.
Bump haddock submodule
Diffstat (limited to 'compiler/ghc.cabal.in')
-rw-r--r-- | compiler/ghc.cabal.in | 880 |
1 files changed, 454 insertions, 426 deletions
diff --git a/compiler/ghc.cabal.in b/compiler/ghc.cabal.in index f653c154b0..78f23a4b8b 100644 --- a/compiler/ghc.cabal.in +++ b/compiler/ghc.cabal.in @@ -155,249 +155,308 @@ Library ,MonoLocalBinds Exposed-Modules: - GHC.Iface.Ext.Types - GHC.Iface.Ext.Debug - GHC.Iface.Ext.Binary - GHC.Iface.Ext.Utils - GHC.Iface.Ext.Ast - GHC.SysTools.Ar - GHC.SysTools.FileCleanup - GHC.Driver.Backend - GHC.Driver.Backpack - GHC.Driver.Backpack.Syntax - GHC.Types.Name.Shape - GHC.Iface.Rename - GHC.Types.Avail - GHC.Utils.Asm - GHC.Types.Basic - GHC.Core.ConLike - GHC.Core.DataCon - GHC.Core.PatSyn - GHC.Types.Demand - GHC.Types.Cpr - GHC.Cmm.DebugBlock - GHC.Utils.Exception - GHC.Utils.GlobalVars - GHC.Types.FieldLabel - GHC.Driver.Monad - GHC.Driver.Hooks - GHC.Driver.Flags - GHC.Driver.Ppr - GHC.Types.Id - GHC.Types.Id.Info - GHC.Core.Predicate - GHC.Utils.Lexeme - GHC.Types.Literal - GHC.Llvm - GHC.Llvm.Syntax - GHC.Llvm.MetaData - GHC.Llvm.Ppr - GHC.Llvm.Types - GHC.CmmToLlvm - GHC.CmmToLlvm.Base - GHC.CmmToLlvm.CodeGen - GHC.CmmToLlvm.Data - GHC.CmmToLlvm.Ppr - GHC.CmmToLlvm.Regs - GHC.CmmToLlvm.Mangler - GHC.Types.Id.Make - GHC.Unit - GHC.Unit.Home - GHC.Unit.Parser - GHC.Unit.Ppr - GHC.Unit.Types - GHC.Unit.Module - GHC.Unit.Module.Name - GHC.Unit.Module.Location - GHC.Unit.Module.Env - GHC.Types.Name - GHC.Types.Name.Env - GHC.Types.Name.Set - GHC.Types.Name.Occurrence - GHC.Types.Name.Reader - GHC.Types.Name.Cache - GHC.Types.SrcLoc - GHC.Types.Unique.Supply - GHC.Types.Unique - GHC.Iface.UpdateIdInfos - GHC.Types.Var - GHC.Types.Var.Env - GHC.Types.Var.Set - GHC.Data.Graph.UnVar - GHC.Cmm.BlockId - GHC.Cmm.CLabel + GHC + GHC.Builtin.Names + GHC.Builtin.Names.TH + GHC.Builtin.PrimOps + GHC.Builtin.RebindableNames + GHC.Builtin.Types + GHC.Builtin.Types.Literals + GHC.Builtin.Types.Prim + GHC.Builtin.Uniques + GHC.Builtin.Utils + GHC.ByteCode.Asm + GHC.ByteCode.InfoTable + GHC.ByteCode.Instr + GHC.ByteCode.Linker + GHC.ByteCode.Types GHC.Cmm - GHC.Cmm.Info.Build - GHC.Cmm.Pipeline + GHC.Cmm.BlockId GHC.Cmm.CallConv + GHC.Cmm.CLabel GHC.Cmm.CommonBlockElim - GHC.Cmm.Switch.Implement GHC.Cmm.ContFlowOpt + GHC.Cmm.Dataflow + GHC.Cmm.Dataflow.Block + GHC.Cmm.Dataflow.Collections + GHC.Cmm.Dataflow.Graph + GHC.Cmm.Dataflow.Label + GHC.Cmm.DebugBlock GHC.Cmm.Expr + GHC.Cmm.Graph GHC.Cmm.Info + GHC.Cmm.Info.Build + GHC.Cmm.LayoutStack GHC.Cmm.Lexer GHC.Cmm.Lint GHC.Cmm.Liveness GHC.Cmm.MachOp - GHC.Cmm.Parser.Monad - GHC.Cmm.Switch GHC.Cmm.Node GHC.Cmm.Opt GHC.Cmm.Parser + GHC.Cmm.Parser.Monad + GHC.Cmm.Pipeline + GHC.Cmm.Ppr + GHC.Cmm.Ppr.Decl + GHC.Cmm.Ppr.Expr GHC.Cmm.ProcPoint GHC.Cmm.Sink - GHC.Cmm.Type - GHC.Cmm.Utils - GHC.Cmm.LayoutStack - GHC.Utils.CliOption - GHC.Data.EnumSet - GHC.Cmm.Graph - GHC.CmmToAsm.Ppr + GHC.Cmm.Switch + GHC.Cmm.Switch.Implement + GHC.CmmToAsm + GHC.CmmToAsm.BlockLayout + GHC.CmmToAsm.CFG + GHC.CmmToAsm.CFG.Dominators + GHC.CmmToAsm.CFG.Weight GHC.CmmToAsm.Config + GHC.CmmToAsm.CPrim + GHC.CmmToAsm.Dwarf + GHC.CmmToAsm.Dwarf.Constants + GHC.CmmToAsm.Dwarf.Types + GHC.CmmToAsm.Format + GHC.CmmToAsm.Instr + GHC.CmmToAsm.Monad + GHC.CmmToAsm.PIC + GHC.CmmToAsm.PPC + GHC.CmmToAsm.PPC.CodeGen + GHC.CmmToAsm.PPC.Cond + GHC.CmmToAsm.PPC.Instr + GHC.CmmToAsm.PPC.Ppr + GHC.CmmToAsm.PPC.RegInfo + GHC.CmmToAsm.PPC.Regs + GHC.CmmToAsm.Ppr + GHC.CmmToAsm.Reg.Graph + GHC.CmmToAsm.Reg.Graph.Base + GHC.CmmToAsm.Reg.Graph.Coalesce + GHC.CmmToAsm.Reg.Graph.Spill + GHC.CmmToAsm.Reg.Graph.SpillClean + GHC.CmmToAsm.Reg.Graph.SpillCost + GHC.CmmToAsm.Reg.Graph.Stats + GHC.CmmToAsm.Reg.Graph.TrivColorable + GHC.CmmToAsm.Reg.Graph.X86 + GHC.CmmToAsm.Reg.Linear + GHC.CmmToAsm.Reg.Linear.Base + GHC.CmmToAsm.Reg.Linear.FreeRegs + GHC.CmmToAsm.Reg.Linear.JoinToTargets + GHC.CmmToAsm.Reg.Linear.PPC + GHC.CmmToAsm.Reg.Linear.SPARC + GHC.CmmToAsm.Reg.Linear.StackMap + GHC.CmmToAsm.Reg.Linear.State + GHC.CmmToAsm.Reg.Linear.Stats + GHC.CmmToAsm.Reg.Linear.X86 + GHC.CmmToAsm.Reg.Linear.X86_64 + GHC.CmmToAsm.Reg.Liveness + GHC.CmmToAsm.Reg.Target + GHC.CmmToAsm.Reg.Utils + GHC.CmmToAsm.SPARC + GHC.CmmToAsm.SPARC.AddrMode + GHC.CmmToAsm.SPARC.Base + GHC.CmmToAsm.SPARC.CodeGen + GHC.CmmToAsm.SPARC.CodeGen.Amode + GHC.CmmToAsm.SPARC.CodeGen.Base + GHC.CmmToAsm.SPARC.CodeGen.CondCode + GHC.CmmToAsm.SPARC.CodeGen.Expand + GHC.CmmToAsm.SPARC.CodeGen.Gen32 + GHC.CmmToAsm.SPARC.CodeGen.Gen64 + GHC.CmmToAsm.SPARC.CodeGen.Sanity + GHC.CmmToAsm.SPARC.Cond + GHC.CmmToAsm.SPARC.Imm + GHC.CmmToAsm.SPARC.Instr + GHC.CmmToAsm.SPARC.Ppr + GHC.CmmToAsm.SPARC.Regs + GHC.CmmToAsm.SPARC.ShortcutJump + GHC.CmmToAsm.SPARC.Stack + GHC.CmmToAsm.Types + GHC.CmmToAsm.Utils + GHC.CmmToAsm.X86 + GHC.CmmToAsm.X86.CodeGen + GHC.CmmToAsm.X86.Cond + GHC.CmmToAsm.X86.Instr + GHC.CmmToAsm.X86.Ppr + GHC.CmmToAsm.X86.RegInfo + GHC.CmmToAsm.X86.Regs GHC.CmmToC - GHC.Cmm.Ppr - GHC.Cmm.Ppr.Decl - GHC.Cmm.Ppr.Expr - GHC.Data.Bitmap - GHC.Platform - GHC.Platform.Constants - GHC.Platform.Ways - GHC.Platform.Profile - GHC.Platform.Regs - GHC.Platform.ARM - GHC.Platform.ARM64 - GHC.Platform.NoRegs - GHC.Platform.PPC - GHC.Platform.S390X - GHC.Platform.SPARC - GHC.Platform.X86 - GHC.Platform.X86_64 - GHC.StgToCmm.CgUtils - GHC.StgToCmm - GHC.StgToCmm.Bind - GHC.StgToCmm.Closure - GHC.StgToCmm.DataCon - GHC.StgToCmm.Env - GHC.StgToCmm.Expr - GHC.StgToCmm.Foreign - GHC.StgToCmm.Heap - GHC.StgToCmm.Hpc - GHC.StgToCmm.ArgRep - GHC.StgToCmm.Layout - GHC.StgToCmm.Monad - GHC.StgToCmm.Prim - GHC.StgToCmm.Prof - GHC.StgToCmm.Ticky - GHC.StgToCmm.Utils - GHC.StgToCmm.ExtCode - GHC.StgToCmm.Types - GHC.Runtime.Heap.Layout - GHC.Core.Opt.Arity + GHC.CmmToLlvm + GHC.CmmToLlvm.Base + GHC.CmmToLlvm.CodeGen + GHC.CmmToLlvm.Data + GHC.CmmToLlvm.Mangler + GHC.CmmToLlvm.Ppr + GHC.CmmToLlvm.Regs + GHC.Cmm.Type + GHC.Cmm.Utils + GHC.Core + GHC.Core.Class + GHC.Core.Coercion + GHC.Core.Coercion.Axiom + GHC.Core.Coercion.Opt + GHC.Core.ConLike + GHC.Core.DataCon + GHC.Core.FamInstEnv GHC.Core.FVs + GHC.Core.InstEnv GHC.Core.Lint - GHC.Core.Subst + GHC.Core.Make + GHC.Core.Map + GHC.Core.Multiplicity + GHC.Core.Opt.Arity + GHC.Core.Opt.CallArity + GHC.Core.Opt.ConstantFold + GHC.Core.Opt.CprAnal + GHC.Core.Opt.CSE + GHC.Core.Opt.DmdAnal + GHC.Core.Opt.Exitify + GHC.Core.Opt.FloatIn + GHC.Core.Opt.FloatOut + GHC.Core.Opt.LiberateCase + GHC.Core.Opt.Monad + GHC.Core.Opt.OccurAnal + GHC.Core.Opt.Pipeline + GHC.Core.Opt.SetLevels + GHC.Core.Opt.Simplify + GHC.Core.Opt.Simplify.Env + 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.WorkWrap + GHC.Core.Opt.WorkWrap.Utils + GHC.Core.PatSyn + GHC.Core.Ppr + GHC.Types.TyThing.Ppr + GHC.Core.Predicate + GHC.Core.Rules + GHC.Core.Seq GHC.Core.SimpleOpt - GHC.Core - GHC.Data.TrieMap + GHC.Core.Stats + GHC.Core.Subst GHC.Core.Tidy + GHC.CoreToByteCode + GHC.CoreToIface + GHC.CoreToStg + GHC.CoreToStg.Prep + GHC.Core.TyCo.FVs + GHC.Core.TyCon + GHC.Core.TyCon.Env + GHC.Core.TyCon.RecWalk + GHC.Core.TyCon.Set + GHC.Core.TyCo.Ppr + GHC.Core.TyCo.Rep + GHC.Core.TyCo.Subst + GHC.Core.TyCo.Tidy + GHC.Core.Type GHC.Core.Unfold GHC.Core.Unfold.Make + GHC.Core.Unify + GHC.Core.UsageEnv GHC.Core.Utils - GHC.Core.Map - GHC.Core.Seq - GHC.Core.Stats - GHC.Core.Make - GHC.Core.Ppr - GHC.HsToCore.Pmc - GHC.HsToCore.Pmc.Types - GHC.HsToCore.Pmc.Utils - GHC.HsToCore.Pmc.Desugar - GHC.HsToCore.Pmc.Check - GHC.HsToCore.Pmc.Solver.Types - GHC.HsToCore.Pmc.Solver - GHC.HsToCore.Pmc.Ppr - GHC.HsToCore.Coverage + GHC.Data.Bag + GHC.Data.Bitmap + GHC.Data.BooleanFormula + GHC.Data.EnumSet + GHC.Data.FastMutInt + GHC.Data.FastString + GHC.Data.FastString.Env + GHC.Data.FiniteMap + GHC.Data.Graph.Base + GHC.Data.Graph.Color + GHC.Data.Graph.Directed + GHC.Data.Graph.Ops + GHC.Data.Graph.Ppr + GHC.Data.Graph.UnVar + GHC.Data.IOEnv + GHC.Data.List.SetOps + GHC.Data.Maybe + GHC.Data.OrdList + GHC.Data.Pair + GHC.Data.Stream + GHC.Data.StringBuffer + GHC.Data.TrieMap + GHC.Driver.Backend + GHC.Driver.Backpack + GHC.Driver.Backpack.Syntax + GHC.Driver.CmdLine + GHC.Driver.CodeOutput + GHC.Driver.Config + GHC.Driver.Env + GHC.Driver.Flags + GHC.Driver.Hooks + GHC.Driver.Main + GHC.Driver.Make + GHC.Driver.MakeFile + GHC.Driver.Monad + GHC.Driver.Phases + GHC.Driver.Pipeline + GHC.Driver.Pipeline.Monad + GHC.Driver.Plugins + GHC.Driver.Ppr + GHC.Driver.Session + GHC.Hs + GHC.Hs.Binds + GHC.Hs.Decls + GHC.Hs.Doc + GHC.Hs.Dump + GHC.Hs.Expr + GHC.Hs.Extension + GHC.Hs.ImpExp + GHC.Hs.Instances + GHC.Hs.Lit + GHC.Hs.Pat + GHC.Hs.Stats GHC.HsToCore - GHC.HsToCore.Types GHC.HsToCore.Arrows GHC.HsToCore.Binds - GHC.HsToCore.Foreign.Call + GHC.HsToCore.Coverage + GHC.HsToCore.Docs GHC.HsToCore.Expr + GHC.HsToCore.Foreign.Call GHC.HsToCore.Foreign.Decl GHC.HsToCore.GuardedRHSs GHC.HsToCore.ListComp - GHC.HsToCore.Monad - GHC.HsToCore.Usage - GHC.HsToCore.Utils - GHC.HsToCore.Docs GHC.HsToCore.Match GHC.HsToCore.Match.Constructor GHC.HsToCore.Match.Literal - GHC.Hs - GHC.Hs.Binds - GHC.Hs.Decls - GHC.Hs.Doc - GHC.Hs.Expr - GHC.Hs.ImpExp - GHC.Hs.Lit - GHC.Hs.Extension - GHC.Hs.Instances - GHC.Hs.Pat + GHC.HsToCore.Monad + GHC.HsToCore.Pmc + GHC.HsToCore.Pmc.Check + GHC.HsToCore.Pmc.Desugar + GHC.HsToCore.Pmc.Ppr + GHC.HsToCore.Pmc.Solver + GHC.HsToCore.Pmc.Solver.Types + GHC.HsToCore.Pmc.Types + GHC.HsToCore.Pmc.Utils + GHC.HsToCore.Quote + GHC.HsToCore.Types + GHC.HsToCore.Usage + GHC.HsToCore.Utils GHC.Hs.Type GHC.Hs.Utils - GHC.Hs.Dump GHC.Iface.Binary - GHC.Iface.Recomp.Binary - GHC.Tc.TyCl.Build GHC.Iface.Env - GHC.Iface.Syntax - GHC.Iface.Type - GHC.CoreToIface + GHC.Iface.Ext.Ast + GHC.Iface.Ext.Binary + GHC.Iface.Ext.Debug + GHC.Iface.Ext.Fields + GHC.Iface.Ext.Types + GHC.Iface.Ext.Utils GHC.Iface.Load GHC.Iface.Make GHC.Iface.Recomp - GHC.IfaceToCore + GHC.Iface.Recomp.Binary GHC.Iface.Recomp.Flags - GHC.Types.Annotations - GHC.Driver.CmdLine - GHC.Driver.Config - GHC.Driver.CodeOutput - GHC.Settings.Config - GHC.Settings.Constants - GHC.Driver.MakeFile - GHC.Driver.Phases - GHC.Driver.Pipeline.Monad - GHC.Driver.Pipeline - GHC.Driver.Session - GHC.Utils.Error - GHC.Driver.Finder - GHC - GHC.Driver.Make - GHC.Plugins - GHC.Prelude - GHC.Driver.Main - GHC.Hs.Stats - GHC.Driver.Types - GHC.Runtime.Eval - GHC.Runtime.Eval.Types - GHC.Runtime.Loader - GHC.Unit.Info - GHC.Unit.State - GHC.Driver.Plugins - GHC.Tc.Plugin - GHC.Core.Ppr.TyThing - GHC.Settings - GHC.Iface.Tidy.StaticPtrTable - GHC.SysTools - GHC.SysTools.BaseDir - GHC.SysTools.Terminal - GHC.SysTools.ExtraObj - GHC.SysTools.Info - GHC.SysTools.Process - GHC.SysTools.Tasks - GHC.Settings.IO - GHC.SysTools.Elf + GHC.Iface.Rename + GHC.Iface.Syntax GHC.Iface.Tidy + GHC.Iface.Tidy.StaticPtrTable + GHC.IfaceToCore + GHC.Iface.Type + GHC.Iface.UpdateIdInfos + GHC.Llvm + GHC.Llvm.MetaData + GHC.Llvm.Ppr + GHC.Llvm.Syntax + GHC.Llvm.Types GHC.Parser GHC.Parser.Annotation GHC.Parser.CharClass @@ -408,270 +467,239 @@ Library GHC.Parser.PostProcess GHC.Parser.PostProcess.Haddock GHC.Parser.Types - GHC.Core.Coercion.Opt - GHC.Types.ForeignCall - GHC.Builtin.Uniques - GHC.Builtin.Utils - GHC.Builtin.Names - GHC.Core.Opt.ConstantFold - GHC.Builtin.PrimOps - GHC.Builtin.RebindableNames - GHC.Builtin.Types.Prim - GHC.Builtin.Types - GHC.Types.CostCentre - GHC.Types.CostCentre.State + GHC.Platform + GHC.Platform.ARM + GHC.Platform.ARM64 + GHC.Platform.Constants + GHC.Platform.NoRegs + GHC.Platform.PPC + GHC.Platform.Profile + GHC.Platform.Reg + GHC.Platform.Reg.Class + GHC.Platform.Regs + GHC.Platform.S390X + GHC.Platform.SPARC + GHC.Platform.Ways + GHC.Platform.X86 + GHC.Platform.X86_64 + GHC.Plugins + GHC.Prelude GHC.Rename.Bind GHC.Rename.Env GHC.Rename.Expr + GHC.Rename.Fixity + GHC.Rename.HsType + GHC.Rename.Module GHC.Rename.Names GHC.Rename.Pat - GHC.Rename.Module GHC.Rename.Splice - GHC.Rename.HsType - GHC.Rename.Fixity - GHC.Rename.Utils GHC.Rename.Unbound - GHC.Core.Opt.Monad - GHC.Core.Opt.CSE - GHC.Core.Opt.FloatIn - GHC.Core.Opt.FloatOut - GHC.Core.Opt.LiberateCase - GHC.Core.Opt.OccurAnal - GHC.Core.Opt.StaticArgs - GHC.Core.Opt.SetLevels - GHC.Core.Opt.Pipeline - GHC.Core.Opt.Simplify.Env - GHC.Core.Opt.Simplify.Monad - GHC.Core.Opt.Simplify.Utils - GHC.Core.Opt.Simplify - GHC.Stg.Pipeline - GHC.Stg.Stats + GHC.Rename.Utils + GHC.Runtime.Context + GHC.Runtime.Debugger + GHC.Runtime.Eval + GHC.Runtime.Eval.Types + GHC.Runtime.Heap.Inspect + GHC.Runtime.Heap.Layout + GHC.Runtime.Interpreter + GHC.Runtime.Interpreter.Types + GHC.Runtime.Linker + GHC.Runtime.Linker.Types + GHC.Runtime.Loader + GHC.Settings + GHC.Settings.Config + GHC.Settings.Constants + GHC.Settings.IO GHC.Stg.CSE + GHC.Stg.DepAnal + GHC.Stg.FVs GHC.Stg.Lift GHC.Stg.Lift.Analysis GHC.Stg.Lift.Monad - GHC.Stg.Subst - GHC.Stg.Unarise GHC.Stg.Lint + GHC.Stg.Pipeline + GHC.Stg.Stats + GHC.Stg.Subst GHC.Stg.Syntax - GHC.Stg.FVs - GHC.Stg.DepAnal - GHC.CoreToStg - GHC.CoreToStg.Prep - GHC.Types.RepType - GHC.Core.Rules - GHC.Core.Opt.SpecConstr - GHC.Core.Opt.Specialise - GHC.Core.Opt.CallArity - GHC.Core.Opt.DmdAnal - GHC.Core.Opt.CprAnal - GHC.Core.Opt.Exitify - GHC.Core.Opt.WorkWrap - GHC.Core.Opt.WorkWrap.Utils - GHC.Tc.Instance.Family - GHC.Tc.Instance.Class - GHC.Tc.Utils.Instantiate + GHC.StgToCmm + GHC.StgToCmm.ArgRep + GHC.StgToCmm.Bind + GHC.StgToCmm.CgUtils + GHC.StgToCmm.Closure + GHC.StgToCmm.DataCon + GHC.StgToCmm.Env + GHC.StgToCmm.Expr + GHC.StgToCmm.ExtCode + GHC.StgToCmm.Foreign + GHC.StgToCmm.Heap + GHC.StgToCmm.Hpc + GHC.StgToCmm.Layout + GHC.StgToCmm.Monad + GHC.StgToCmm.Prim + GHC.StgToCmm.Prof + GHC.StgToCmm.Ticky + GHC.StgToCmm.Types + GHC.StgToCmm.Utils + GHC.Stg.Unarise + GHC.SysTools + GHC.SysTools.Ar + GHC.SysTools.BaseDir + GHC.SysTools.Elf + GHC.SysTools.ExtraObj + GHC.SysTools.FileCleanup + GHC.SysTools.Info + GHC.SysTools.Process + GHC.SysTools.Tasks + GHC.SysTools.Terminal + GHC.Tc.Deriv + GHC.Tc.Deriv.Functor + GHC.Tc.Deriv.Generate + GHC.Tc.Deriv.Generics + GHC.Tc.Deriv.Infer + GHC.Tc.Deriv.Utils + GHC.Tc.Errors + GHC.Tc.Errors.Hole + GHC.Tc.Errors.Hole.FitTypes GHC.Tc.Gen.Annotation + GHC.Tc.Gen.App GHC.Tc.Gen.Arrow GHC.Tc.Gen.Bind - GHC.Tc.Gen.Sig - GHC.Tc.TyCl.Class GHC.Tc.Gen.Default - GHC.Tc.Deriv - GHC.Tc.Deriv.Infer - GHC.Tc.Deriv.Utils - GHC.Tc.Utils.Env + GHC.Tc.Gen.Export GHC.Tc.Gen.Expr - GHC.Tc.Gen.App - GHC.Tc.Gen.Head GHC.Tc.Gen.Foreign - GHC.Tc.Deriv.Generate - GHC.Tc.Deriv.Functor - GHC.Tc.Deriv.Generics - GHC.Tc.Utils.Zonk - GHC.Tc.Utils.TcType - GHC.Tc.TyCl.Instance - GHC.Tc.Utils.TcMType - GHC.Tc.Validity + GHC.Tc.Gen.Head + GHC.Tc.Gen.HsType GHC.Tc.Gen.Match GHC.Tc.Gen.Pat - GHC.Tc.TyCl.PatSyn - GHC.Tc.Module - GHC.Tc.Utils.Backpack - GHC.Tc.Gen.Export - GHC.Tc.Utils.Monad - GHC.Tc.Types - GHC.Tc.Types.Constraint - GHC.Tc.Types.Origin GHC.Tc.Gen.Rule - GHC.Tc.Errors.Hole - GHC.Tc.Errors.Hole.FitTypes - GHC.Tc.Errors - GHC.Tc.TyCl - GHC.Tc.TyCl.Utils + GHC.Tc.Gen.Sig + GHC.Tc.Gen.Splice + GHC.Tc.Instance.Class + GHC.Tc.Instance.Family + GHC.Tc.Instance.FunDeps GHC.Tc.Instance.Typeable - GHC.Tc.Gen.HsType - GHC.Tc.Types.Evidence - GHC.Tc.Types.EvTerm - GHC.Tc.Utils.Unify + GHC.Tc.Module + GHC.Tc.Plugin GHC.Tc.Solver - GHC.Tc.Solver.Interact GHC.Tc.Solver.Canonical GHC.Tc.Solver.Flatten + GHC.Tc.Solver.Interact GHC.Tc.Solver.Monad - GHC.Builtin.Types.Literals - GHC.Tc.Gen.Splice - GHC.Core.Class - GHC.Core.Coercion - GHC.HsToCore.Quote - GHC.Builtin.Names.TH - GHC.Core.FamInstEnv - GHC.Tc.Instance.FunDeps - GHC.Core.InstEnv - GHC.Core.Multiplicity - GHC.Core.UsageEnv - GHC.Core.TyCon - GHC.Core.TyCon.Env - GHC.Core.TyCon.Set - GHC.Core.TyCon.RecWalk - GHC.Core.Coercion.Axiom - GHC.Core.Type - GHC.Core.TyCo.Rep - GHC.Core.TyCo.FVs - GHC.Core.TyCo.Subst - GHC.Core.TyCo.Ppr - GHC.Core.TyCo.Tidy - GHC.Core.Unify - GHC.Data.Bag + GHC.Tc.TyCl + GHC.Tc.TyCl.Build + GHC.Tc.TyCl.Class + GHC.Tc.TyCl.Instance + GHC.Tc.TyCl.PatSyn + GHC.Tc.TyCl.Utils + GHC.Tc.Types + GHC.Tc.Types.Constraint + GHC.Tc.Types.Evidence + GHC.Tc.Types.EvTerm + GHC.Tc.Types.Origin + GHC.Tc.Utils.Backpack + GHC.Tc.Utils.Env + GHC.Tc.Utils.Instantiate + GHC.Tc.Utils.Monad + GHC.Tc.Utils.TcMType + GHC.Tc.Utils.TcType + GHC.Tc.Utils.Unify + GHC.Tc.Utils.Zonk + GHC.Tc.Validity + GHC.ThToHs + GHC.Types.Annotations + GHC.Types.Avail + GHC.Types.Basic + GHC.Types.CompleteMatch + GHC.Types.CostCentre + GHC.Types.CostCentre.State + GHC.Types.Cpr + GHC.Types.Demand + GHC.Types.Error + GHC.Types.FieldLabel + GHC.Types.Fixity + GHC.Types.Fixity.Env + GHC.Types.ForeignCall + GHC.Types.ForeignStubs + GHC.Types.HpcInfo + GHC.Types.Id + GHC.Types.Id.Info + GHC.Types.Id.Make + GHC.Types.Literal + GHC.Types.Meta + GHC.Types.Name + GHC.Types.Name.Cache + GHC.Types.Name.Env + GHC.Types.Name.Occurrence + GHC.Types.Name.Reader + GHC.Types.Name.Set + GHC.Types.Name.Shape + GHC.Types.Name.Ppr + GHC.Types.RepType + GHC.Types.SafeHaskell + GHC.Types.SourceError + GHC.Types.SourceFile + GHC.Types.SourceText + GHC.Types.SrcLoc + GHC.Types.Target + GHC.Types.TypeEnv + GHC.Types.TyThing + GHC.Types.Unique + GHC.Types.Unique.DFM + GHC.Types.Unique.DSet + GHC.Types.Unique.FM + GHC.Types.Unique.SDFM + GHC.Types.Unique.Set + GHC.Types.Unique.Supply + GHC.Types.Var + GHC.Types.Var.Env + GHC.Types.Var.Set + GHC.Unit + GHC.Unit.External + GHC.Unit.Finder + GHC.Unit.Finder.Types + GHC.Unit.Home + GHC.Unit.Home.ModInfo + GHC.Unit.Info + GHC.Unit.Module + GHC.Unit.Module.Deps + GHC.Unit.Module.Env + GHC.Unit.Module.Graph + GHC.Unit.Module.Imported + GHC.Unit.Module.Location + GHC.Unit.Module.ModDetails + GHC.Unit.Module.ModGuts + GHC.Unit.Module.ModIface + GHC.Unit.Module.ModSummary + GHC.Unit.Module.Name + GHC.Unit.Module.Status + GHC.Unit.Module.Warnings + GHC.Unit.Parser + GHC.Unit.Ppr + GHC.Unit.State + GHC.Unit.Types + GHC.Utils.Asm GHC.Utils.Binary - GHC.Data.BooleanFormula + GHC.Utils.Binary.Typeable GHC.Utils.BufHandle - GHC.Data.Graph.Directed - GHC.Utils.IO.Unsafe - GHC.Data.FastMutInt - GHC.Data.FastString - GHC.Data.FastString.Env + GHC.Utils.CliOption + GHC.Utils.Error + GHC.Utils.Exception GHC.Utils.Fingerprint - GHC.Data.FiniteMap GHC.Utils.FV - GHC.Data.Graph.Base - GHC.Data.Graph.Color - GHC.Data.Graph.Ops - GHC.Data.Graph.Ppr - GHC.Data.IOEnv + GHC.Utils.GlobalVars + GHC.Utils.IO.Unsafe GHC.Utils.Json - GHC.Data.List.SetOps - GHC.Data.Maybe + GHC.Utils.Lexeme + GHC.Utils.Misc GHC.Utils.Monad - GHC.Data.OrdList + GHC.Utils.Monad.State GHC.Utils.Outputable - GHC.Data.Pair GHC.Utils.Panic GHC.Utils.Panic.Plain - GHC.Utils.Ppr.Colour GHC.Utils.Ppr - GHC.Utils.Monad.State - GHC.Data.Stream - GHC.Data.StringBuffer - GHC.Types.Unique.DFM - GHC.Types.Unique.SDFM - GHC.Types.Unique.DSet - GHC.Types.Unique.FM - GHC.Types.Unique.Set - GHC.Utils.Misc - GHC.Cmm.Dataflow - GHC.Cmm.Dataflow.Block - GHC.Cmm.Dataflow.Collections - GHC.Cmm.Dataflow.Graph - GHC.Cmm.Dataflow.Label + GHC.Utils.Ppr.Colour reexported-modules: GHC.Platform.ArchOS , GHC.Platform.Host - - Exposed-Modules: - GHC.CmmToAsm - GHC.CmmToAsm.Reg.Target - GHC.CmmToAsm.Monad - GHC.CmmToAsm.Instr - GHC.CmmToAsm.BlockLayout - GHC.CmmToAsm.CFG - GHC.CmmToAsm.CFG.Weight - GHC.CmmToAsm.CFG.Dominators - GHC.CmmToAsm.Format - GHC.Platform.Reg - GHC.Platform.Reg.Class - GHC.CmmToAsm.PIC - GHC.CmmToAsm.CPrim - GHC.CmmToAsm.Types - GHC.CmmToAsm.Utils - GHC.CmmToAsm.X86 - GHC.CmmToAsm.X86.Regs - GHC.CmmToAsm.X86.RegInfo - GHC.CmmToAsm.X86.Instr - GHC.CmmToAsm.X86.Cond - GHC.CmmToAsm.X86.Ppr - GHC.CmmToAsm.X86.CodeGen - GHC.CmmToAsm.PPC - GHC.CmmToAsm.PPC.Regs - GHC.CmmToAsm.PPC.RegInfo - GHC.CmmToAsm.PPC.Instr - GHC.CmmToAsm.PPC.Cond - GHC.CmmToAsm.PPC.Ppr - GHC.CmmToAsm.PPC.CodeGen - GHC.CmmToAsm.SPARC - GHC.CmmToAsm.SPARC.Base - GHC.CmmToAsm.SPARC.Regs - GHC.CmmToAsm.SPARC.Imm - GHC.CmmToAsm.SPARC.AddrMode - GHC.CmmToAsm.SPARC.Cond - GHC.CmmToAsm.SPARC.Instr - GHC.CmmToAsm.SPARC.Stack - GHC.CmmToAsm.SPARC.ShortcutJump - GHC.CmmToAsm.SPARC.Ppr - GHC.CmmToAsm.SPARC.CodeGen - GHC.CmmToAsm.SPARC.CodeGen.Amode - GHC.CmmToAsm.SPARC.CodeGen.Base - GHC.CmmToAsm.SPARC.CodeGen.CondCode - GHC.CmmToAsm.SPARC.CodeGen.Gen32 - GHC.CmmToAsm.SPARC.CodeGen.Gen64 - GHC.CmmToAsm.SPARC.CodeGen.Sanity - GHC.CmmToAsm.SPARC.CodeGen.Expand - GHC.CmmToAsm.Reg.Liveness - GHC.CmmToAsm.Reg.Graph - GHC.CmmToAsm.Reg.Graph.Stats - GHC.CmmToAsm.Reg.Graph.Base - GHC.CmmToAsm.Reg.Graph.X86 - GHC.CmmToAsm.Reg.Graph.Coalesce - GHC.CmmToAsm.Reg.Graph.Spill - GHC.CmmToAsm.Reg.Graph.SpillClean - GHC.CmmToAsm.Reg.Graph.SpillCost - GHC.CmmToAsm.Reg.Graph.TrivColorable - GHC.CmmToAsm.Reg.Linear - GHC.CmmToAsm.Reg.Linear.JoinToTargets - GHC.CmmToAsm.Reg.Linear.State - GHC.CmmToAsm.Reg.Linear.Stats - GHC.CmmToAsm.Reg.Linear.FreeRegs - GHC.CmmToAsm.Reg.Linear.StackMap - GHC.CmmToAsm.Reg.Linear.Base - GHC.CmmToAsm.Reg.Linear.X86 - GHC.CmmToAsm.Reg.Linear.X86_64 - GHC.CmmToAsm.Reg.Linear.PPC - GHC.CmmToAsm.Reg.Linear.SPARC - GHC.CmmToAsm.Reg.Utils - GHC.CmmToAsm.Dwarf - GHC.CmmToAsm.Dwarf.Types - GHC.CmmToAsm.Dwarf.Constants - GHC.ThToHs - GHC.ByteCode.Types - GHC.ByteCode.Asm - GHC.ByteCode.Instr - GHC.ByteCode.InfoTable - GHC.ByteCode.Linker - GHC.CoreToByteCode - GHC.Runtime.Debugger - GHC.Runtime.Linker.Types - GHC.Runtime.Linker - GHC.Runtime.Heap.Inspect - GHC.Runtime.Interpreter - GHC.Runtime.Interpreter.Types |