CmmUtils

ghc-7.0.4: The GHC API

CmmUtils

Synopsis

- type CmmStmts = OrdList CmmStmt
- noStmts :: CmmStmts
- oneStmt :: CmmStmt -> CmmStmts
- mkStmts :: [CmmStmt] -> CmmStmts
- plusStmts :: CmmStmts -> CmmStmts -> CmmStmts
- stmtList :: CmmStmts -> [CmmStmt]
- isNopStmt :: CmmStmt -> Bool
- primRepCmmType :: PrimRep -> CmmType
- primRepForeignHint :: PrimRep -> ForeignHint
- typeCmmType :: Type -> CmmType
- typeForeignHint :: Type -> ForeignHint
- isTrivialCmmExpr :: CmmExpr -> Bool
- hasNoGlobalRegs :: CmmExpr -> Bool
- cmmRegOff :: CmmReg -> Int -> CmmExpr
- cmmLabelOff :: CLabel -> Int -> CmmLit
- cmmOffset :: CmmExpr -> Int -> CmmExpr
- cmmOffsetLit :: CmmLit -> Int -> CmmLit
- cmmIndex :: Width -> CmmExpr -> Int -> CmmExpr
- cmmOffsetExpr :: CmmExpr -> CmmExpr -> CmmExpr
- cmmIndexExpr :: Width -> CmmExpr -> CmmExpr -> CmmExpr
- cmmLoadIndex :: CmmType -> CmmExpr -> Int -> CmmExpr
- mkIntCLit :: Int -> CmmLit
- zeroCLit :: CmmLit
- mkLblExpr :: CLabel -> CmmExpr
- maybeAssignTemp :: [Unique] -> CmmExpr -> ([Unique], [CmmStmt], CmmExpr)
- loadArgsIntoTemps :: [Unique] -> HintedCmmActuals -> ([Unique], [CmmStmt], HintedCmmActuals)

# Documentation

type CmmStmts = OrdList CmmStmt

noStmts :: CmmStmts

oneStmt :: CmmStmt -> CmmStmts

mkStmts :: [CmmStmt] -> CmmStmts

plusStmts :: CmmStmts -> CmmStmts -> CmmStmts

stmtList :: CmmStmts -> [CmmStmt]

isNopStmt :: CmmStmt -> Bool

primRepCmmType :: PrimRep -> CmmType

primRepForeignHint :: PrimRep -> ForeignHint

typeCmmType :: Type -> CmmType

typeForeignHint :: Type -> ForeignHint

isTrivialCmmExpr :: CmmExpr -> Bool

hasNoGlobalRegs :: CmmExpr -> Bool

cmmRegOff :: CmmReg -> Int -> CmmExpr

cmmLabelOff :: CLabel -> Int -> CmmLit

cmmOffset :: CmmExpr -> Int -> CmmExpr

cmmOffsetLit :: CmmLit -> Int -> CmmLit

cmmIndex :: Width -> CmmExpr -> Int -> CmmExpr

Useful for creating an index into an array, with a staticaly known offset. The type is the element type; used for making the multiplier

cmmOffsetExpr :: CmmExpr -> CmmExpr -> CmmExpr

cmmIndexExpr :: Width -> CmmExpr -> CmmExpr -> CmmExpr

Useful for creating an index into an array, with an unknown offset.

cmmLoadIndex :: CmmType -> CmmExpr -> Int -> CmmExpr

mkIntCLit :: Int -> CmmLit

zeroCLit :: CmmLit

mkLblExpr :: CLabel -> CmmExpr

maybeAssignTemp :: [Unique] -> CmmExpr -> ([Unique], [CmmStmt], CmmExpr)

loadArgsIntoTemps :: [Unique] -> HintedCmmActuals -> ([Unique], [CmmStmt], HintedCmmActuals)