[Git][ghc/ghc][master] Fix a number of incorrect module references:
Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC Commits: 93a2b20f by Andreas Klebinger at 2026-08-18T04:31:04-04:00 Fix a number of incorrect module references: Fix module reference in Note [DataCon wrappers are conlike]. Fix module reference in Note [Detailed InertCans Invariants]. Fix module reference in Note [GHC's data format representations]. Fix module reference in Note [Grand plan for static forms]. Fix module reference in Note [How tuples work]. Fix module reference in Note [Solved dictionaries]. Fix module reference in Note [Stacktraces from Info Table Provenance Entries (IPE based stack unwinding)]. Fix module reference in Note [The VarBndr type and its uses]. Found the incorrect references with a llm. - - - - - 7 changed files: - compiler/GHC/Builtin/WiredIn/Types.hs - compiler/GHC/CmmToAsm/Format.hs - compiler/GHC/Driver/GenerateCgIPEStub.hs - compiler/GHC/Iface/Tidy/StaticPtrTable.hs - compiler/GHC/Tc/Solver/InertSet.hs - compiler/GHC/Types/Id/Make.hs - compiler/GHC/Types/Var.hs Changes: ===================================== compiler/GHC/Builtin/WiredIn/Types.hs ===================================== @@ -783,7 +783,7 @@ typeSymbolKind = mkTyConTy typeSymbolKindCon Note [How tuples work] ~~~~~~~~~~~~~~~~~~~~~~ * There are three families of tuple TyCons and corresponding - DataCons, expressed by the type BasicTypes.TupleSort: + DataCons, expressed by the type GHC.Types.Basic.TupleSort: data TupleSort = BoxedTuple | UnboxedTuple | ConstraintTuple * All three families are AlgTyCons, whose AlgTyConRhs is TupleTyCon @@ -818,7 +818,7 @@ Note [How tuples work] stores them in the context field of types like HsQualTy. * In quite a lot of places things are restricted just to - BoxedTuple/UnboxedTuple, and then we used BasicTypes.Boxity to distinguish + BoxedTuple/UnboxedTuple, and then we used GHC.Types.Basic.Boxity to distinguish E.g. tupleTyCon has a Boxity argument * When looking up an OccName in the original-name cache ===================================== compiler/GHC/CmmToAsm/Format.hs ===================================== @@ -52,20 +52,20 @@ import GHC.Utils.Panic GHC has severals types that represent various aspects of data format. These include: - * 'CmmType.CmmType': The data classification used throughout the C-- + * 'GHC.Cmm.Type.CmmType': The data classification used throughout the C-- pipeline. This is a pair of a CmmCat and a Width. - * 'CmmType.CmmCat': What the bits in a C-- value mean (e.g. a pointer, integer, or floating-point value) + * 'GHC.Cmm.Type.CmmCat': What the bits in a C-- value mean (e.g. a pointer, integer, or floating-point value) - * 'CmmType.Width': The width of a C-- value. + * 'GHC.Cmm.Type.Width': The width of a C-- value. - * 'CmmType.Length': The width (measured in number of scalars) of a vector value. + * 'GHC.Cmm.Type.Length': The width (measured in number of scalars) of a vector value. * 'Format.Format': The data format representation used by much of the backend. - * 'Format.ScalarFormat': The format of a 'Format.VecFormat'\'s scalar. + * 'GHC.CmmToAsm.Format.ScalarFormat': The format of a 'GHC.CmmToAsm.Format.VecFormat'\'s scalar. - * 'RegClass.RegClass': Whether a register is an integer or a floating point/vector register. + * 'GHC.Platform.Reg.Class.RegClass': Whether a register is an integer or a floating point/vector register. -} -- It looks very like the old MachRep, but it's now of purely local ===================================== compiler/GHC/Driver/GenerateCgIPEStub.hs ===================================== @@ -62,7 +62,7 @@ looking up source locations for stack info tables in the map generated during th The rest of this note will document exactly how the first pass generates the map from labels to estimated source positions. The algorithms are different depending on whether tables-next-to-code -is on or off. Both algorithms have in common that we are looking for a `CmmNode.CmmTick` +is on or off. Both algorithms have in common that we are looking for a `GHC.Cmm.Node.CmmTick` (containing a `SourceNote`) that is near what we estimate to be the label of a return stack frame. With tables-next-to-code @@ -112,14 +112,14 @@ open or closed on exit (one can fallthrough from them to the next node). Please refer to the paper "Hoopl: A Modular, Reusable Library for Dataflow Analysis and Transformation" for a detailed explanation. -Here we use the fact, that calls (represented by `CmmNode.CmmCall`) are always closed on exit +Here we use the fact, that calls (represented by `GHC.Cmm.Node.CmmCall`) are always closed on exit (`CmmNode O C`, `O` means open, `C` closed). In other words, they are always at the end of a block. So, given a `CmmGraph`: - - Look at the end of every block: If it is a `CmmNode.CmmCall` returning to some label, lookup - the nearest `CmmNode.CmmTick` by traversing the middle part of the block backwards (from end to + - Look at the end of every block: If it is a `GHC.Cmm.Node.CmmCall` returning to some label, lookup + the nearest `GHC.Cmm.Node.CmmTick` by traversing the middle part of the block backwards (from end to beginning). - - Take the first `CmmNode.CmmTick` that contains a `Tickish.SourceNote` and map the label we + - Take the first `GHC.Cmm.Node.CmmTick` that contains a `Tickish.SourceNote` and map the label we found to it's payload as an `IpeSourceLocation`. (There are other `Tickish` constructors like `ProfNote` or `HpcTick`, these are ignored.) ===================================== compiler/GHC/Iface/Tidy/StaticPtrTable.hs ===================================== @@ -82,7 +82,7 @@ Here is a running example: (SF4) The desugarer replaces a nested expression (static e) with a top-level binding for an application of the function 'makeStatic' (defined in module - GHC.StaticPtr.Internal of base). So we get + GHC.Internal.StaticPtr.Internal of base). So we get s = /\abc. makeStatic location e f x = ...(fromStaticPtr s)... ===================================== compiler/GHC/Tc/Solver/InertSet.hs ===================================== @@ -460,7 +460,7 @@ In implementation terms - It is only called when applying an instance decl, in GHC.Tc.Solver.Dict.tryInstances - - ClsInst.InstanceWhat says what kind of instance was + - GHC.Tc.Instance.Class.InstanceWhat says what kind of instance was used to solve the constraint. In particular * LocalInstance identifies quantified constraints * BuiltinEqInstance identifies the strange built-in @@ -800,7 +800,7 @@ The InertCans represents a collection of constraints with the following properti eg a wanted cannot rewrite a given) * CEqCan equalities: see Note [inert_eqs: the inert equalities] - Also see documentation in Constraint.Ct for a list of invariants + Also see documentation in GHC.Tc.Types.Constraint.Ct for a list of invariants Note [inert_eqs: the inert equalities] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ===================================== compiler/GHC/Types/Id/Make.hs ===================================== @@ -987,7 +987,7 @@ until the final simplifier phase; see Note [Activation for data constructor wrappers]. For further reading, see: - * (IA1) in Note [Interesting arguments] in GHC.Core.Op.Simplify.Utils + * (IA1) in Note [Interesting arguments] in GHC.Core.Opt.Simplify.Utils * Note [Lone variables] in GHC.Core.Unfold * Note [exprIsConApp_maybe on data constructors with wrappers] in GHC.Core.SimpleOpt ===================================== compiler/GHC/Types/Var.hs ===================================== @@ -621,27 +621,27 @@ Note [Types for coercions, predicates, and evidence] VarBndr is polymorphic in both var and visibility fields. Currently there are nine different uses of 'VarBndr': -* Var.ForAllTyBinder = VarBndr TyCoVar ForAllTyFlag +* GHC.Types.Var.ForAllTyBinder = VarBndr TyCoVar ForAllTyFlag Binder of a forall-type; see ForAllTy in GHC.Core.TyCo.Rep -* Var.TyVarBinder = VarBndr TyVar ForAllTyFlag +* GHC.Types.Var.TyVarBinder = VarBndr TyVar ForAllTyFlag Subset of ForAllTyBinder when we are sure the binder is a TyVar -* Var.InvisTVBinder = VarBndr TyVar Specificity +* GHC.Types.Var.InvisTVBinder = VarBndr TyVar Specificity Specialised form of TyVarBinder, when ForAllTyFlag = Invisible s See GHC.Core.Type.splitForAllInvisTVBinders -* Var.ReqTVBinder = VarBndr TyVar () +* GHC.Types.Var.ReqTVBinder = VarBndr TyVar () Specialised form of TyVarBinder, when ForAllTyFlag = Required See GHC.Core.Type.splitForAllReqTVBinders This one is barely used -* TyCon.TyConBinder = VarBndr TyVar TyConBndrVis +* GHC.Core.TyCon.TyConBinder = VarBndr TyVar TyConBndrVis Binders of a TyCon; see TyCon in GHC.Core.TyCon -* IfaceType.IfaceForAllBndr = VarBndr IfaceBndr ForAllTyFlag -* IfaceType.IfaceForAllSpecBndr = VarBndr IfaceBndr Specificity -* IfaceType.IfaceTyConBinder = VarBndr IfaceBndr TyConBndrVis +* GHC.Iface.Type.IfaceForAllBndr = VarBndr IfaceBndr ForAllTyFlag +* GHC.Iface.Type.IfaceForAllSpecBndr = VarBndr IfaceBndr Specificity +* GHC.Iface.Type.IfaceTyConBinder = VarBndr IfaceBndr TyConBndrVis -} data VarBndr var argf = Bndr var argf View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/93a2b20f2fb33c1607c9686aa4dd8ebc... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/93a2b20f2fb33c1607c9686aa4dd8ebc... You're receiving this email because of your account on gitlab.haskell.org. Manage all notifications: https://gitlab.haskell.org/-/profile/notifications | Help: https://gitlab.haskell.org/help
participants (1)
-
Marge Bot (@marge-bot)