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

RegSpillCost

Synopsis

type SpillCostRecord = (Reg, Int, Int, Int)
plusSpillCostRecord :: SpillCostRecord -> SpillCostRecord -> SpillCostRecord
pprSpillCostRecord :: Graph Reg RegClass Reg -> SpillCostRecord -> SDoc
type SpillCostInfo = UniqFM SpillCostRecord
zeroSpillCostInfo :: SpillCostInfo
plusSpillCostInfo :: SpillCostInfo -> SpillCostInfo -> SpillCostInfo
slurpSpillCostInfo :: LiveCmmTop -> SpillCostInfo
chooseSpill :: SpillCostInfo -> Graph Reg RegClass Reg -> Reg
lifeMapFromSpillCostInfo :: SpillCostInfo -> UniqFM (Reg, Int)

Documentation
type SpillCostRecord = (Reg, Int, Int, Int)
plusSpillCostRecord :: SpillCostRecord -> SpillCostRecord -> SpillCostRecord
pprSpillCostRecord :: Graph Reg RegClass Reg -> SpillCostRecord -> SDoc
Show a spill cost record, including the degree from the graph and final calulated spill cos
type SpillCostInfo = UniqFM SpillCostRecord
zeroSpillCostInfo :: SpillCostInfo
plusSpillCostInfo :: SpillCostInfo -> SpillCostInfo -> SpillCostInfo
Add two spillCostInfos
slurpSpillCostInfo :: LiveCmmTop -> SpillCostInfo
Slurp out information used for determining spill costs for each vreg, the number of times it was written to, read from, and the number of instructions it was live on entry to (lifetime)
chooseSpill :: SpillCostInfo -> Graph Reg RegClass Reg -> Reg
Choose a node to spill from this graph
lifeMapFromSpillCostInfo :: SpillCostInfo -> UniqFM (Reg, Int)
Produced by Haddock version 2.4.2