| ghc-6.10.4: The GHC API | Contents | Index

CmmSpillReload

Synopsis

data ExtendWithSpills m

= NotSpillOrReload m
| Spill RegSet
| Reload RegSet

data DualLive = DualLive {

on_stack :: RegSet
in_regs :: RegSet

}

dualLiveLattice :: DataflowLattice DualLive
dualLiveTransfers :: BlockSet -> BackwardTransfers M Last DualLive
dualLiveness :: BlockSet -> Graph M Last -> FuelMonad (BlockEnv DualLive)
dualLivenessWithInsertion :: BlockSet -> Graph M Last -> FuelMonad (Graph M Last)
elimSpillAndReload :: StackSlotMap -> LGraph M l -> (StackSlotMap, LGraph Middle l)
availRegsLattice :: DataflowLattice AvailRegs
cmmAvailableReloads :: Graph M Last -> FuelMonad CmmAvail
insertLateReloads :: Graph M Last -> FuelMonad (Graph M Last)
insertLateReloads' :: Graph M Last -> FuelMonad (Graph M Last)
removeDeadAssignmentsAndReloads :: BlockSet -> Graph M Last -> FuelMonad (Graph M Last)

Documentation
data ExtendWithSpills m

Constructors

NotSpillOrReload m |
Spill RegSet |
Reload RegSet |

Instances

Outputable m => Outputable (ExtendWithSpills m)
UserOfLocalRegs m => UserOfLocalRegs (ExtendWithSpills m)
Outputable m => DebugNodes (ExtendWithSpills m) Last

data DualLive

Constructors

DualLive |

on_stack :: RegSet |
in_regs :: RegSet |

Instances

Outputable DualLive

dualLiveLattice :: DataflowLattice DualLive
dualLiveTransfers :: BlockSet -> BackwardTransfers M Last DualLive
dualLiveness :: BlockSet -> Graph M Last -> FuelMonad (BlockEnv DualLive)
dualLivenessWithInsertion :: BlockSet -> Graph M Last -> FuelMonad (Graph M Last)
elimSpillAndReload :: StackSlotMap -> LGraph M l -> (StackSlotMap, LGraph Middle l)
For conversion back to vanilla C--
availRegsLattice :: DataflowLattice AvailRegs
cmmAvailableReloads :: Graph M Last -> FuelMonad CmmAvail
insertLateReloads :: Graph M Last -> FuelMonad (Graph M Last)
insertLateReloads' :: Graph M Last -> FuelMonad (Graph M Last)
removeDeadAssignmentsAndReloads :: BlockSet -> Graph M Last -> FuelMonad (Graph M Last)
Produced by Haddock version 2.4.2