SetLevels

ghc-8.2.2: The GHC API

Safe Haskell | None
Language | Haskell2010

SetLevels

# Documentation

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

data Level Source #

Constructors

Level Int Int LevelType |

Instances

Eq Level # |
Methods (==) :: Level -> Level -> Bool # (/=) :: Level -> Level -> Bool #
Outputable Level # |
Methods ppr :: Level -> SDoc Source # pprPrec :: Rational -> Level -> SDoc Source #

data LevelType Source #

Constructors

BndrLvl |
JoinCeilLvl |

Instances

Eq LevelType # |
Methods (==) :: LevelType -> LevelType -> Bool # (/=) :: LevelType -> LevelType -> Bool #

tOP_LEVEL :: Level Source #

isJoinCeilLvl :: Level -> Bool Source #

asJoinCeilLvl :: Level -> Level Source #

type LevelledBind = TaggedBind FloatSpec Source #

type LevelledExpr = TaggedExpr FloatSpec Source #

type LevelledBndr = TaggedBndr FloatSpec Source #

data FloatSpec Source #

Constructors

FloatMe Level |
StayPut Level |

Instances

Outputable FloatSpec # |
Methods ppr :: FloatSpec -> SDoc Source # pprPrec :: Rational -> FloatSpec -> SDoc Source #

floatSpecLevel :: FloatSpec -> Level Source #

incMinorLvl :: Level -> Level Source #

ltMajLvl :: Level -> Level -> Bool Source #

ltLvl :: Level -> Level -> Bool Source #

isTopLvl :: Level -> Bool Source #