ghc-7.0.3: The GHC API

CmmProcPointZ

Synopsis

- type ProcPointSet = BlockSet
- data Status
  - = ReachedBy ProcPointSet
  - | ProcPoint
- callProcPoints :: CmmGraph -> ProcPointSet
- minimalProcPointSet :: ProcPointSet -> CmmGraph -> FuelMonad ProcPointSet
- addProcPointProtocols :: ProcPointSet -> ProcPointSet -> CmmGraph -> FuelMonad CmmGraph
- splitAtProcPoints :: CLabel -> ProcPointSet -> ProcPointSet -> BlockEnv Status -> CmmTopZ -> FuelMonad [CmmTopZ]
- procPointAnalysis :: ProcPointSet -> CmmGraph -> FuelMonad (BlockEnv Status)

# Documentation

type ProcPointSet = BlockSet

data Status

Constructors

ReachedBy ProcPointSet |
ProcPoint |

Instances

Outputable Status |

callProcPoints :: CmmGraph -> ProcPointSet

minimalProcPointSet :: ProcPointSet -> CmmGraph -> FuelMonad ProcPointSet

addProcPointProtocols :: ProcPointSet -> ProcPointSet -> CmmGraph -> FuelMonad CmmGraph

Function `optimize_calls` chooses protocols only for those proc points that are relevant to the optimization explained above. The others are assigned by `add_unassigned`, which is not yet clever.

splitAtProcPoints :: CLabel -> ProcPointSet -> ProcPointSet -> BlockEnv Status -> CmmTopZ -> FuelMonad [CmmTopZ]

procPointAnalysis :: ProcPointSet -> CmmGraph -> FuelMonad (BlockEnv Status)