Tue Aug 14 03:36:23 PDT 2007 [EMAIL PROTECTED]
* Add graph coloring register allocator.
Refactored linear allocator into separate liveness annotation and allocation
stages.
Added graph coloring allocator, use -fregs-graph to enable.
New dump flags are
-ddump-asm-native -- output of cmm -> native transform.
-ddump-asm-liveness -- code annotated with register liveness info
-ddump-asm-coalesce -- output of register move coalescing
(this is a separate pass when using the
coloring allocator)
(this could change in the future)
-ddump-asm-regalloc -- code after register allocation
-ddump-asm-regalloc-stages -- blocks after each build/spill stage of
coloring allocator
-ddump-asm-conflicts -- a global register liveness graph in
graphviz format
The new register allocator will allocate some registers, but it's not
quite ready for prime-time yet. The spill code generator needs some work...
./compiler/nativeGen/GraphDot.hs -> ./compiler/nativeGen/GraphPpr.hs
./compiler/nativeGen/State.hs -> ./compiler/utils/State.hs
M ./compiler/cmm/PprCmm.hs -6 +14
M ./compiler/main/DynFlags.hs +15
M ./compiler/nativeGen/AsmCodeGen.lhs -39 +208
A ./compiler/nativeGen/GraphBase.hs
A ./compiler/nativeGen/GraphColor.hs
A ./compiler/nativeGen/GraphDot.hs
A ./compiler/nativeGen/GraphOps.hs
M ./compiler/nativeGen/GraphPpr.hs +149
M ./compiler/nativeGen/MachRegs.lhs -1 +90
M ./compiler/nativeGen/PprMach.hs -3 +9
A ./compiler/nativeGen/RegAllocColor.hs
M ./compiler/nativeGen/RegAllocInfo.hs -5 +6
A ./compiler/nativeGen/RegAllocLinear.hs
A ./compiler/nativeGen/RegArchBase.hs
A ./compiler/nativeGen/RegArchX86.hs
A ./compiler/nativeGen/RegCoalesce.hs
A ./compiler/nativeGen/RegLiveness.hs
A ./compiler/nativeGen/RegSpill.hs
R ./compiler/nativeGen/RegisterAlloc.hs
A ./compiler/nativeGen/State.hs
M ./compiler/utils/State.hs +31
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc