SetLevels

ghc-8.4.4: The GHC API

Safe Haskell | None
Language | Haskell2010

SetLevels

# Documentation

setLevels :: FloatOutSwitches -> CoreProgram -> UniqSupply -> [LevelledBind] #

data Level #

Constructors

Level Int Int LevelType |

Instances

Eq Level # |
Instance details Defined in SetLevels Methods (==) :: Level -> Level -> Bool # (/=) :: Level -> Level -> Bool #
Outputable Level # |
Instance details Defined in SetLevels Methods ppr :: Level -> SDoc # pprPrec :: Rational -> Level -> SDoc #

data LevelType #

Constructors

BndrLvl |
JoinCeilLvl |

Instances

Eq LevelType # |
Instance details Defined in SetLevels Methods (==) :: LevelType -> LevelType -> Bool # (/=) :: LevelType -> LevelType -> Bool #

tOP_LEVEL :: Level #

isJoinCeilLvl :: Level -> Bool #

asJoinCeilLvl :: Level -> Level #

type LevelledBind = TaggedBind FloatSpec #

type LevelledExpr = TaggedExpr FloatSpec #

type LevelledBndr = TaggedBndr FloatSpec #

data FloatSpec #

Constructors

FloatMe Level |
StayPut Level |

Instances

Outputable FloatSpec # |
Instance details Defined in SetLevels Methods ppr :: FloatSpec -> SDoc # pprPrec :: Rational -> FloatSpec -> SDoc #

floatSpecLevel :: FloatSpec -> Level #

incMinorLvl :: Level -> Level #

ltMajLvl :: Level -> Level -> Bool #

ltLvl :: Level -> Level -> Bool #

isTopLvl :: Level -> Bool #