ghc-6.12.3: The GHC API
Source code
Contents
Index
CmmStackLayout
Synopsis
type
SlotEnv
=
BlockEnv
SubAreaSet
liveSlotAnal
::
LGraph
Middle
Last
->
FuelMonad
SlotEnv
liveSlotTransfers
::
BackwardTransfers
Middle
Last
SubAreaSet
removeLiveSlotDefs
:: (
DefinerOfSlots
s,
UserOfSlots
s) =>
SubAreaSet
-> s ->
SubAreaSet
layout
::
ProcPointSet
->
SlotEnv
->
ByteOff
->
LGraph
Middle
Last
->
AreaMap
manifestSP
::
AreaMap
->
ByteOff
->
LGraph
Middle
Last
->
FuelMonad
(
LGraph
Middle
Last
)
igraph
::
Ord
x => IGraphBuilder x ->
SlotEnv
->
LGraph
Middle
Last
-> IGraph x
areaBuilder
:: IGraphBuilder
Area
stubSlotsOnDeath
::
LGraph
Middle
Last
->
FuelMonad
(
LGraph
Middle
Last
)
Documentation
type
SlotEnv
=
BlockEnv
SubAreaSet
Source
liveSlotAnal
::
LGraph
Middle
Last
->
FuelMonad
SlotEnv
Source
liveSlotTransfers
::
BackwardTransfers
Middle
Last
SubAreaSet
Source
removeLiveSlotDefs
:: (
DefinerOfSlots
s,
UserOfSlots
s) =>
SubAreaSet
-> s ->
SubAreaSet
Source
layout
::
ProcPointSet
->
SlotEnv
->
ByteOff
->
LGraph
Middle
Last
->
AreaMap
Source
Greedy stack layout. Compute liveness, build the interference graph, and allocate slots for the areas. We visit each basic block in a (generally) forward order.
manifestSP
::
AreaMap
->
ByteOff
->
LGraph
Middle
Last
->
FuelMonad
(
LGraph
Middle
Last
)
Source
igraph
::
Ord
x => IGraphBuilder x ->
SlotEnv
->
LGraph
Middle
Last
-> IGraph x
Source
areaBuilder
:: IGraphBuilder
Area
Source
stubSlotsOnDeath
::
LGraph
Middle
Last
->
FuelMonad
(
LGraph
Middle
Last
)
Source
Produced by
Haddock
version 2.6.1