Graph coloring register allocator.
TODO: The colors in graphviz graphs for x86_64 and ppc could be nicer.
- regAlloc :: (Outputable statics, PlatformOutputable instr, Instruction instr) => DynFlags -> UniqFM (UniqSet RealReg) -> UniqSet Int -> [LiveCmmTop statics instr] -> UniqSM ([NatCmmTop statics instr], [RegAllocStats statics instr])
Documentation
:: (Outputable statics, PlatformOutputable instr, Instruction instr) | |
=> DynFlags | |
-> UniqFM (UniqSet RealReg) | the registers we can use for allocation |
-> UniqSet Int | the set of available spill slots. |
-> [LiveCmmTop statics instr] | code annotated with liveness information. |
-> UniqSM ([NatCmmTop 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.