StgCmmEnv

ghc-8.0.1: The GHC API

Safe Haskell | None
Language | Haskell2010

StgCmmEnv

# Documentation

data CgIdInfo #

Instances

Outputable CgIdInfo # |
Methods ppr :: CgIdInfo -> SDoc # pprPrec :: Rational -> CgIdInfo -> SDoc #

litIdInfo :: DynFlags -> Id -> LambdaFormInfo -> CmmLit -> CgIdInfo #

lneIdInfo :: DynFlags -> Id -> [NonVoid Id] -> CgIdInfo #

rhsIdInfo :: Id -> LambdaFormInfo -> FCode (CgIdInfo, LocalReg) #

mkRhsInit :: DynFlags -> LocalReg -> LambdaFormInfo -> CmmExpr -> CmmAGraph #

idInfoToAmode :: CgIdInfo -> CmmExpr #

newtype NonVoid a #

Constructors

NonVoid a |

Instances

Eq a => Eq (NonVoid a) # |
Methods (==) :: NonVoid a -> NonVoid a -> Bool # (/=) :: NonVoid a -> NonVoid a -> Bool #
Show a => Show (NonVoid a) # |
Methods showsPrec :: Int -> NonVoid a -> ShowS Source # show :: NonVoid a -> String Source # showList :: [NonVoid a] -> ShowS Source #
Outputable a => Outputable (NonVoid a) # |
Methods ppr :: NonVoid a -> SDoc # pprPrec :: Rational -> NonVoid a -> SDoc #

unsafe_stripNV :: NonVoid a -> a #

nonVoidIds :: [Id] -> [NonVoid Id] #

addBindC :: CgIdInfo -> FCode () #

addBindsC :: [CgIdInfo] -> FCode () #

bindArgsToRegs :: [NonVoid Id] -> FCode [LocalReg] #

bindToReg :: NonVoid Id -> LambdaFormInfo -> FCode LocalReg #

rebindToReg :: NonVoid Id -> FCode LocalReg #

bindArgToReg :: NonVoid Id -> FCode LocalReg #

idToReg :: DynFlags -> NonVoid Id -> LocalReg #

getArgAmode :: NonVoid StgArg -> FCode CmmExpr #

getNonVoidArgAmodes :: [StgArg] -> FCode [CmmExpr] #

getCgIdInfo :: Id -> FCode CgIdInfo #

maybeLetNoEscape :: CgIdInfo -> Maybe (BlockId, [LocalReg]) #