- 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
Calculated liveness info for a CmmGraph
On entry to the procedure, there had better not be any LocalReg's live-in.
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.