|
|
|
|
| Synopsis |
|
|
|
| Documentation |
|
| newtype GenCmm d h g |
| Constructors | | Instances | |
|
|
| type Cmm = GenCmm CmmStatic CmmInfo (ListGraph CmmStmt) |
| Cmm with the info table as a data type
|
|
| type RawCmm = GenCmm CmmStatic [CmmStatic] (ListGraph CmmStmt) |
| Cmm with the info tables converted to a list of CmmStatic
|
|
| data GenCmmTop d h g |
| A top-level chunk, abstracted over the type of the contents of
the basic blocks (Cmm or instructions are the likely instantiations).
| | Constructors | | Instances | |
|
|
| type CmmTop = GenCmmTop CmmStatic CmmInfo (ListGraph CmmStmt) |
|
| type RawCmmTop = GenCmmTop CmmStatic [CmmStatic] (ListGraph CmmStmt) |
|
| newtype ListGraph i |
| A control-flow graph represented as a list of extended basic blocks.
| | Constructors | | ListGraph [GenBasicBlock i] | Code, may be empty. The first block is the entry point. The
order is otherwise initially unimportant, but at some point the
code gen will fix the order.
|
| Instances | |
|
|
| cmmMapGraph :: (g -> g') -> GenCmm d h g -> GenCmm d h g' |
|
| cmmTopMapGraph :: (g -> g') -> GenCmmTop d h g -> GenCmmTop d h g' |
|
| cmmMapGraphM :: Monad m => (String -> g -> m g') -> GenCmm d h g -> m (GenCmm d h g') |
|
| cmmTopMapGraphM :: Monad m => (String -> g -> m g') -> GenCmmTop d h g -> m (GenCmmTop d h g') |
|
| data CmmInfo |
| Constructors | | Instances | |
|
|
| data UpdateFrame |
| A frame that is to be pushed before entry to the function.
Used to handle update frames.
| | Constructors | |
|
|
| data CmmInfoTable |
|
|
| type HasStaticClosure = Bool |
|
| data ClosureTypeInfo |
|
|
| type ConstrDescription = CmmLit |
|
| data ProfilingInfo |
|
|
| type ClosureTypeTag = StgHalfWord |
|
| data GenBasicBlock i |
| Constructors | | Instances | |
|
|
| type CmmBasicBlock = GenBasicBlock CmmStmt |
|
| blockId :: GenBasicBlock i -> BlockId |
|
| blockStmts :: GenBasicBlock i -> [i] |
|
| mapBlockStmts :: (i -> i') -> GenBasicBlock i -> GenBasicBlock i' |
|
| data CmmReturnInfo |
| Constructors | | CmmMayReturn | | | CmmNeverReturns | |
|
|
|
| data CmmStmt |
| Constructors | | Instances | |
|
|
| type CmmActual = CmmExpr |
|
| type CmmActuals = [CmmActual] |
|
| type CmmFormal = LocalReg |
|
| type CmmFormals = [CmmFormal] |
|
| type HintedCmmFormal = CmmHinted CmmFormal |
|
| type HintedCmmFormals = [HintedCmmFormal] |
|
| type HintedCmmActual = CmmHinted CmmActual |
|
| type HintedCmmActuals = [HintedCmmActual] |
|
| data CmmSafety |
| Constructors | | Instances | |
|
|
| data CmmCallTarget |
| Constructors | | Instances | |
|
|
| data CallishMachOp |
| Constructors | | MO_F64_Pwr | | | MO_F64_Sin | | | MO_F64_Cos | | | MO_F64_Tan | | | MO_F64_Sinh | | | MO_F64_Cosh | | | MO_F64_Tanh | | | MO_F64_Asin | | | MO_F64_Acos | | | MO_F64_Atan | | | MO_F64_Log | | | MO_F64_Exp | | | MO_F64_Sqrt | | | MO_F32_Pwr | | | MO_F32_Sin | | | MO_F32_Cos | | | MO_F32_Tan | | | MO_F32_Sinh | | | MO_F32_Cosh | | | MO_F32_Tanh | | | MO_F32_Asin | | | MO_F32_Acos | | | MO_F32_Atan | | | MO_F32_Log | | | MO_F32_Exp | | | MO_F32_Sqrt | | | MO_WriteBarrier | |
| Instances | |
|
|
| pprCallishMachOp :: CallishMachOp -> SDoc |
|
| data ForeignHint |
| Constructors | | Instances | |
|
|
| data CmmHinted a |
| Constructors | | Instances | |
|
|
| data CmmStatic |
| Constructors | | Instances | |
|
|
| data Section |
| Constructors | | Text | | | Data | | | ReadOnlyData | | | RelocatableReadOnlyData | | | UninitialisedData | | | ReadOnlyData16 | | | OtherSection String | |
|
|
|
| module CmmExpr |
|
| Produced by Haddock version 2.7.2 |