ghc-lib-9.0.1.20210205: The GHC API, decoupled from GHC versions
Safe HaskellNone
LanguageHaskell2010

GHC.StgToCmm.Prof

Synopsis

Documentation

initCostCentres :: CollectedCCs -> FCode () Source #

ccType :: Platform -> CmmType Source #

ccsType :: Platform -> CmmType Source #

mkCCostCentre :: CostCentre -> CmmLit Source #

mkCCostCentreStack :: CostCentreStack -> CmmLit Source #

dynProfHdr :: DynFlags -> CmmExpr -> [CmmExpr] Source #

Profiling header words in a dynamic closure

profDynAlloc :: SMRep -> CmmExpr -> FCode () Source #

Record the allocation of a closure. The CmmExpr is the cost centre stack to which to attribute the allocation.

profAlloc :: CmmExpr -> CmmExpr -> FCode () Source #

Record the allocation of a closure (size is given by a CmmExpr) The size must be in words, because the allocation counter in a CCS counts in words.

staticProfHdr :: DynFlags -> CostCentreStack -> [CmmLit] Source #

The profiling header words in a static closure

initUpdFrameProf :: CmmExpr -> FCode () Source #

Initialise the profiling field of an update frame

enterCostCentreFun :: CostCentreStack -> CmmExpr -> FCode () Source #

costCentreFrom :: DynFlags -> CmmExpr -> CmmExpr Source #

emitSetCCC :: CostCentre -> Bool -> Bool -> FCode () Source #

ldvEnter :: CmmExpr -> FCode () Source #

ldvEnterClosure :: ClosureInfo -> CmmReg -> FCode () Source #

Called when a closure is entered, marks the closure as having been "used". The closure is not an "inherently used" one. The closure is not IND because that is not considered for LDV profiling.

ldvRecordCreate :: CmmExpr -> FCode () Source #