Wed Sep 5 09:44:01 PDT 2007 [EMAIL PROTECTED]
* Improve GraphColor.colorScan
Testing whether a node in the conflict graph is trivially
colorable (triv) is still a somewhat expensive operation.
When we find a triv node during scanning, even though we remove
it and its edges from the graph, this is unlikely to to make the
nodes we've just scanned become triv - so there's not much point
re-scanning them right away.
Scanning now takes place in passes. We scan the whole graph for
triv nodes and remove all the ones found in a batch before rescanning
old nodes.
Register allocation for SHA1.lhs now takes (just) 40% of total
compile time with -O2 -fregs-graph on x86
M ./compiler/nativeGen/AsmCodeGen.lhs -2 +2
M ./compiler/nativeGen/GraphColor.hs -3 +90
M ./compiler/nativeGen/RegAllocColor.hs -8 +21
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc