ghc-9.15: The GHC API
Safe HaskellNone
LanguageGHC2021

GHC.Core.Opt.Simplify.Env

Synopsis

The simplifier mode

data SimplMode Source #

Constructors

SimplMode 

Fields

Instances

Instances details
Outputable SimplMode Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Env

Methods

ppr :: SimplMode -> SDoc Source #

Environments

data SimplEnv Source #

Constructors

SimplEnv 

Fields

data SimplPhase Source #

See Note [SimplPhase]

Constructors

SimplPhase CompilerPhase

A simplifier phase: InitialPhase, Phase 2, Phase 1, Phase 0, FinalPhase

SimplPhaseRange

Simplifying the RHS of a rule or of a stable unfolding: the range of phases of the activation of the rule/stable unfolding.

_Invariant:_ simplStartPhase is not a later phase than simplEndPhase. Equivalently, SimplPhaseRange is always a non-empty interval of phases.

See Note [What is active in the RHS of a RULE?] in GHC.Core.Opt.Simplify.Utils.

Instances

Instances details
Outputable SimplPhase Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Env

Methods

ppr :: SimplPhase -> SDoc Source #

Eq SimplPhase Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Env

isActive :: SimplPhase -> Activation -> Bool Source #

Is this activation active in this simplifier phase?

For a phase range, isActive simpl_phase_range act is true if and only if act is active throughout the entire range, as per Note [What is active in the RHS of a RULE?] in GHC.Core.Opt.Simplify.Utils.

See Note [SimplPhase].

Substitution results

data SimplSR Source #

A substitution result.

Instances

Instances details
Outputable SimplSR Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Env

Methods

ppr :: SimplSR -> SDoc Source #

Simplifying Id binders

Floats

data SimplFloats Source #

Instances

Instances details
Outputable SimplFloats Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Env

Methods

ppr :: SimplFloats -> SDoc Source #

LetFloats

data LetFloats Source #

Instances

Instances details
Outputable LetFloats Source # 
Instance details

Defined in GHC.Core.Opt.Simplify.Env

Methods

ppr :: LetFloats -> SDoc Source #

JoinFloats