X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2FnativeGen%2FGraphColor.hs;h=dfb2d17edffe8e4d7e273d5af74233295b490ec5;hb=295d2a0018243d94a7bd4e72d88d056db32ff3cf;hp=6956c8d5b58565ed9f2da766f932269f94a228c6;hpb=12d0b38821771fd9820d655ed73b29c688cb7b59;p=ghc-hetmet.git diff --git a/compiler/nativeGen/GraphColor.hs b/compiler/nativeGen/GraphColor.hs index 6956c8d..dfb2d17 100644 --- a/compiler/nativeGen/GraphColor.hs +++ b/compiler/nativeGen/GraphColor.hs @@ -67,8 +67,12 @@ colorGraph iterative colors triv spill graph0 -- If iterative coalescing is enabled, the scanner will coalesce the graph as does its business. -- We need to apply all the coalescences found by the scanner to the original -- graph before doing assignColors. + -- + -- Because we've got the whole, non-pruned graph here we turn on aggressive coalecing + -- to force all the (conservative) coalescences found during scanning. + -- (graph_scan_coalesced, _) - = mapAccumL (coalesceNodes False triv) graph_coalesced kksCoalesce2 + = mapAccumL (coalesceNodes True triv) graph_coalesced kksCoalesce2 -- color the trivially colorable nodes -- during scanning, keys of triv nodes were added to the front of the list as they were found