ghc-7.6.3: The GHC API

Safe Haskell | None

RegAlloc.Graph.Main

Description

Graph coloring register allocator.

TODO: The colors in graphviz graphs for x86_64 and ppc could be nicer.

Synopsis

- regAlloc :: (Outputable statics, Outputable instr, Instruction instr) => DynFlags -> UniqFM (UniqSet RealReg) -> UniqSet Int -> [LiveCmmDecl statics instr] -> UniqSM ([NatCmmDecl statics instr], [RegAllocStats statics instr])

# Documentation

regAlloc

Arguments

:: (Outputable statics, Outputable instr, Instruction instr) |
=> DynFlags |
-> UniqFM (UniqSet RealReg) | the registers we can use for allocation
-> UniqSet Int | the set of available spill slots.
-> [LiveCmmDecl statics instr] | code annotated with liveness information.
-> UniqSM ([NatCmmDecl statics instr], [RegAllocStats statics instr]) | code with registers allocated and stats for each stage of allocation

The top level of the graph coloring register allocator.