- type CmmLive = RegSet
- cmmLiveness :: CmmGraph -> FuelUniqSM BlockEntryLiveness
- liveLattice :: DataflowLattice CmmLive
- noLiveOnEntry :: BlockId -> CmmLive -> a -> a
- xferLive :: BwdTransfer CmmNode CmmLive
- gen :: UserOfLocalRegs a => a -> RegSet -> RegSet
- kill :: DefinerOfLocalRegs a => a -> RegSet -> RegSet
- gen_kill :: (DefinerOfLocalRegs a, UserOfLocalRegs a) => a -> CmmLive -> CmmLive
- removeDeadAssignments :: CmmGraph -> FuelUniqSM CmmGraph
Documentation
cmmLiveness :: CmmGraph -> FuelUniqSM BlockEntryLivenessSource
Calculated liveness info for a CmmGraph
liveLattice :: DataflowLattice CmmLiveSource
The dataflow lattice
noLiveOnEntry :: BlockId -> CmmLive -> a -> aSource
On entry to the procedure, there had better not be any LocalReg's live-in.
xferLive :: BwdTransfer CmmNode CmmLiveSource
The transfer function EZY: Bits of this analysis are duplicated in CmmSpillReload, though it's not really easy to efficiently reuse all of this. Keep in mind if you need to update this analysis.
gen :: UserOfLocalRegs a => a -> RegSet -> RegSetSource
kill :: DefinerOfLocalRegs a => a -> RegSet -> RegSetSource
gen_kill :: (DefinerOfLocalRegs a, UserOfLocalRegs a) => a -> CmmLive -> CmmLiveSource