ghc-7.0.4: The GHC API

StackColor

Synopsis

- fold_edge_facts_b :: LastNode l => (DualLive -> a -> a) -> BackwardTransfers m l DualLive -> LGraph m l -> (BlockId -> DualLive) -> a -> a
- foldConflicts :: (RegSet -> a -> a) -> a -> LGraph Middle Last -> FuelMonad a
- type IGraph = Graph LocalReg SlotClass StackPlacement
- type ClassCount = [(SlotClass, Int)]
- buildIGraphAndCounts :: LGraph Middle Last -> FuelMonad (IGraph, ClassCount)
- graphAddConflictSet :: RegSet -> IGraph -> IGraph
- slotClass :: LocalReg -> SlotClass
- mkSizeOf :: ClassCount -> SlotClass -> Int

# Documentation

fold_edge_facts_b :: LastNode l => (DualLive -> a -> a) -> BackwardTransfers m l DualLive -> LGraph m l -> (BlockId -> DualLive) -> a -> aSource

foldConflicts :: (RegSet -> a -> a) -> a -> LGraph Middle Last -> FuelMonad aSource

type IGraph = Graph LocalReg SlotClass StackPlacement Source

type ClassCount = [(SlotClass, Int)]Source

buildIGraphAndCounts :: LGraph Middle Last -> FuelMonad (IGraph, ClassCount)Source

graphAddConflictSet :: RegSet -> IGraph -> IGraph Source

Add some conflict edges to the graph. Conflicts between virtual and real regs are recorded as exclusions.

slotClass :: LocalReg -> SlotClass Source

mkSizeOf :: ClassCount -> SlotClass -> Int Source

number of placements available is from class and all larger classes