NCG: Don't worry about trying to re-freeze missing coalescences
authorbenl@ouroborus.net <unknown>
Fri, 2 Jul 2010 05:33:19 +0000 (05:33 +0000)
committerbenl@ouroborus.net <unknown>
Fri, 2 Jul 2010 05:33:19 +0000 (05:33 +0000)
compiler/utils/GraphOps.hs

index 87e77bf..388b968 100644 (file)
@@ -420,8 +420,7 @@ freezeNode
 freezeNode k
   = graphMapModify
   $ \fm ->
-    let
-       -- freeze all the edges in the node to be frozen
+    let        -- freeze all the edges in the node to be frozen
        Just node = lookupUFM fm k
        node'   = node
                { nodeCoalesce          = emptyUniqSet }
@@ -431,9 +430,9 @@ freezeNode k
        -- update back edges pointing to this node
        freezeEdge k node
         = if elementOfUniqSet k (nodeCoalesce node)
-               then node
-                       { nodeCoalesce          = delOneFromUniqSet (nodeCoalesce node) k }
-               else    panic "GraphOps.freezeNode: edge to freeze wasn't in the coalesce set"
+               then node { nodeCoalesce = delOneFromUniqSet (nodeCoalesce node) k }
+               else node       -- panic "GraphOps.freezeNode: edge to freeze wasn't in the coalesce set"
+                               -- If the edge isn't actually in the coelesce set then just ignore it.
 
        fm2     = foldUniqSet (adjustUFM (freezeEdge k)) fm1
                        $ nodeCoalesce node