HORIZON HASKELLDocslts/ghc-10.0.x77a86622026-10-31Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 77a8662 · 2026-10-31

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

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.

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.