Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Graph coloring register allocator.
Synopsis
- regAlloc :: (Outputable statics, Outputable instr, Instruction instr) => NCGConfig -> UniqFM RegClass (UniqSet RealReg) -> UniqSet Int -> Int -> [LiveCmmDecl statics instr] -> Maybe CFG -> UniqSM ([NatCmmDecl statics instr], Maybe Int, [RegAllocStats statics instr])
Documentation
:: (Outputable statics, Outputable instr, Instruction instr) | |
=> NCGConfig | |
-> UniqFM RegClass (UniqSet RealReg) | registers we can use for allocation |
-> UniqSet Int | set of available spill slots. |
-> Int | current number of spill slots |
-> [LiveCmmDecl statics instr] | code annotated with liveness information. |
-> Maybe CFG | CFG of basic blocks if available |
-> UniqSM ([NatCmmDecl statics instr], Maybe Int, [RegAllocStats statics instr]) | code with registers allocated, additional stacks required and stats for each stage of allocation |
The top level of the graph coloring register allocator.