ghc-7.0.3: The GHC API

StgCmmUtils

# Documentation

cgLit :: Literal -> FCode CmmLit Source

mkSimpleLit :: Literal -> CmmLit Source

emitDataLits :: CLabel -> [CmmLit] -> FCode ()Source

mkDataLits :: CLabel -> [CmmLit] -> GenCmmTop CmmStatic info stmtSource

emitRODataLits :: CLabel -> [CmmLit] -> FCode ()Source

mkRODataLits :: CLabel -> [CmmLit] -> GenCmmTop CmmStatic info stmtSource

emitRtsCall :: PackageId -> FastString -> [(CmmExpr, ForeignHint)] -> Bool -> FCode ()Source

emitRtsCallWithVols :: PackageId -> FastString -> [(CmmExpr, ForeignHint)] -> [GlobalReg] -> Bool -> FCode ()Source

emitRtsCallWithResult :: LocalReg -> ForeignHint -> PackageId -> FastString -> [(CmmExpr, ForeignHint)] -> Bool -> FCode ()Source

assignTemp :: CmmExpr -> FCode LocalReg Source

newTemp :: CmmType -> FCode LocalReg Source

withTemp :: CmmType -> (LocalReg -> CmmAGraph) -> CmmAGraph Source

newUnboxedTupleRegs :: Type -> FCode ([LocalReg], [ForeignHint])Source

mkMultiAssign :: [LocalReg] -> [CmmExpr] -> CmmAGraph Source

mkCmmSwitch :: Bool -> CmmExpr -> [(ConTagZ, CmmAGraph)] -> Maybe CmmAGraph -> ConTagZ -> ConTagZ -> CmmAGraph Source

mkCmmLitSwitch :: CmmExpr -> [(Literal, CmmAGraph)] -> CmmAGraph -> CmmAGraph Source

emitSwitch :: CmmExpr -> [(ConTagZ, CmmAGraph)] -> Maybe CmmAGraph -> ConTagZ -> ConTagZ -> FCode ()Source

tagToClosure :: TyCon -> CmmExpr -> CmmExpr Source

mkTaggedObjectLoad :: LocalReg -> LocalReg -> WordOff -> DynTag -> CmmAGraph Source

callerSaveVolatileRegs :: (CmmAGraph, CmmAGraph)Source

get_GlobalReg_addr :: GlobalReg -> CmmExpr Source

cmmAndWord :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmOrWord :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmNegate :: CmmExpr -> CmmExpr Source

cmmEqWord :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmNeWord :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmUGtWord :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmOffsetExprW :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmOffsetExprB :: CmmExpr -> CmmExpr -> CmmExpr Source

cmmRegOffW :: CmmReg -> WordOff -> CmmExpr Source

cmmRegOffB :: CmmReg -> ByteOff -> CmmExpr Source

cmmLabelOffW :: CLabel -> WordOff -> CmmLit Source

cmmLabelOffB :: CLabel -> ByteOff -> CmmLit Source

cmmOffsetW :: CmmExpr -> WordOff -> CmmExpr Source

cmmOffsetB :: CmmExpr -> ByteOff -> CmmExpr Source

cmmOffsetLitW :: CmmLit -> WordOff -> CmmLit Source

cmmOffsetLitB :: CmmLit -> ByteOff -> CmmLit Source

cmmLoadIndexW :: CmmExpr -> Int -> CmmType -> CmmExpr Source

cmmConstrTag :: CmmExpr -> CmmExpr Source

cmmConstrTag1 :: CmmExpr -> CmmExpr Source

cmmUntag :: CmmExpr -> CmmExpr Source

cmmIsTagged :: CmmExpr -> CmmExpr Source

cmmGetTag :: CmmExpr -> CmmExpr Source

addToMem :: CmmType -> CmmExpr -> Int -> CmmAGraph Source

addToMemE :: CmmType -> CmmExpr -> CmmExpr -> CmmAGraph Source

addToMemLbl :: CmmType -> CLabel -> Int -> CmmAGraph Source

mkWordCLit :: StgWord -> CmmLit Source

mkStringCLit :: String -> FCode CmmLit Source

mkByteStringCLit :: [Word8] -> FCode CmmLit Source

packHalfWordsCLit :: (Integral a, Integral b) => a -> b -> CmmLit Source

blankWord :: CmmStatic Source

getSRTInfo :: SRT -> FCode C_SRT Source

clHasCafRefs :: ClosureInfo -> CafInfo Source

srt_escape :: StgHalfWord Source