Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class HooplNode (n v) => NodeAlloc n v r | n -> v, n -> r where Source
fromVar :: v -> Either PhysReg VarId Source
fromReg :: r -> PhysReg Source
isCall :: n v O O -> Bool Source
isBranch :: n v O C -> Bool Source
retargetBranch :: n v O C -> Label -> Label -> n v O C Source
mkLabelOp :: Label -> n v C O Source
mkJumpOp :: Label -> n v O C Source
getReferences :: n v e x -> [VarInfo] Source
setRegisters :: [(Int, PhysReg)] -> n v e x -> Env (n r e x) Source
mkMoveOps :: PhysReg -> PhysReg -> Env [n r O O] Source
mkSwapOps :: PhysReg -> PhysReg -> Env [n r O O] Source
mkSaveOps :: PhysReg -> Maybe VarId -> Env [n r O O] Source
mkRestoreOps :: Maybe VarId -> PhysReg -> Env [n r O O] Source
op1ToString :: n v e x -> String Source
blockInfo :: (NodeAlloc n v r, NonLocal (n v)) => (Label -> Env Int) -> BlockInfo Env (Block (n v) C C) (Block (n r) C C) (NodeV (n v)) (NodeV (n r)) Source
runSimpleUniqueMonad' :: Int -> SimpleUniqueMonad a -> a Source