HORIZON HASKELLDocslts/ghc-10.0.xfc4e5982026-10-11Search names, modules, packages, or :: a typeCtrl K

GHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11

Moduleghc-10.0.0.20260917GHC2024

GHC.Stg.Syntax

  • 46 types
  • 21 values
datadata GenStgExpr (pass :: StgPass)
#
Instances1Outputable
datadata StgPass
#

Used as a data type index for the stgSyn AST

Constructors

  • Vanilla
  • LiftLams

    Use internally by the lambda lifting pass

  • InferTaggedBinders

    Tag inference information on binders. See Note [EPT enforcement] in GHC.Stg.EnforceEpt

  • InferTagged

    Tag inference information put on relevant StgApp nodes See Note [EPT enforcement] in GHC.Stg.EnforceEpt

  • CodeGen
familytype family XRhsClosure (pass :: StgPass)
#
Instances5XRhsClosure
familytype family XLetNoEscape (pass :: StgPass)
#
Instances5XLetNoEscape
datadata UpdateFlag
#

Constructors

  • ReEntrant

    A ReEntrant closure may be entered multiple times, but should not be updated or blackholed.

  • Updatable

    An Updatable closure should be updated after evaluation (and may be blackholed during evaluation).

  • SingleEntry

    A SingleEntry closure will only be entered once, and so need not be updated but may safely be blackholed.

  • JumpedTo

    A JumpedTo (join-point) closure is entered once or multiple times but has no heap-allocated associated closure.

Instances3Eq, Show, Outputable
datadata ConstructorNumber
#

When `-fdistinct-constructor-tables` is turned on then each usage of a constructor is given an unique number and an info table is generated for each different constructor.

Constructors

Instances1Outputable

Assumes that the argument has at most one PrimRep, which holds after unarisation. See Note [Post-unarisation invariants] in GHC.Stg.Unarise. See Note [VoidRep] in GHC.Types.RepType.

valuestgArgRepU :: StgArg -> PrimRep
#

Assumes that the argument has exactly one PrimRep. See Note [VoidRep] in GHC.Types.RepType.

valuestgCaseBndrInScope
  1. :: AltType
  2. -> Bool

    unarised?

  3. -> Bool
#

Given an alt type and whether the program is unarised, return whether the case binder is in scope.

Case binders of unboxed tuple or unboxed sum type always dead after the unariser has run. See Note [Post-unarisation invariants] in GHC.Stg.Unarise.