Safe Haskell | None |
---|---|
Language | Haskell2010 |
- type CmmLocalLive = CmmLive LocalReg
- type CmmGlobalLive = CmmLive GlobalReg
- cmmLocalLiveness :: DynFlags -> CmmGraph -> BlockEntryLiveness LocalReg
- cmmGlobalLiveness :: DynFlags -> CmmGraph -> BlockEntryLiveness GlobalReg
- liveLattice :: Ord r => DataflowLattice (CmmLive r)
- noLiveOnEntry :: BlockId -> CmmLive LocalReg -> a -> a
- xferLive :: forall r. (UserOfRegs r (CmmNode O O), DefinerOfRegs r (CmmNode O O), UserOfRegs r (CmmNode O C), DefinerOfRegs r (CmmNode O C)) => DynFlags -> BwdTransfer CmmNode (CmmLive r)
- gen :: UserOfRegs r a => DynFlags -> a -> RegSet r -> RegSet r
- kill :: DefinerOfRegs r a => DynFlags -> a -> RegSet r -> RegSet r
- gen_kill :: (DefinerOfRegs r a, UserOfRegs r a) => DynFlags -> a -> CmmLive r -> CmmLive r
Documentation
type CmmLocalLive = CmmLive LocalReg Source #
type CmmGlobalLive = CmmLive GlobalReg Source #
cmmLocalLiveness :: DynFlags -> CmmGraph -> BlockEntryLiveness LocalReg Source #
Calculated liveness info for a CmmGraph
liveLattice :: Ord r => DataflowLattice (CmmLive r) Source #
The dataflow lattice
noLiveOnEntry :: BlockId -> CmmLive LocalReg -> a -> a Source #
On entry to the procedure, there had better not be any LocalReg's live-in.
xferLive :: forall r. (UserOfRegs r (CmmNode O O), DefinerOfRegs r (CmmNode O O), UserOfRegs r (CmmNode O C), DefinerOfRegs r (CmmNode O C)) => DynFlags -> BwdTransfer CmmNode (CmmLive r) Source #
The transfer function
gen_kill :: (DefinerOfRegs r a, UserOfRegs r a) => DynFlags -> a -> CmmLive r -> CmmLive r Source #