X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2Fcmm%2FCmmZipUtil.hs;h=5171218056a5415a7b3b0aa8202811981c54faed;hp=c414d496ebdb6d9ce24d879e88e737aa3f1bf59d;hb=e6243a818496aad82b6f47511d3bd9bc800f747d;hpb=4a6f2bc7c3da7e74192339502704877bfc12ccc1 diff --git a/compiler/cmm/CmmZipUtil.hs b/compiler/cmm/CmmZipUtil.hs index c414d49..5171218 100644 --- a/compiler/cmm/CmmZipUtil.hs +++ b/compiler/cmm/CmmZipUtil.hs @@ -9,12 +9,11 @@ import Prelude hiding (last, unzip) import ZipCfg import Maybes -import UniqSet --- | Compute the predecessors of each *reachable* block +-- | Compute the predecessors of each /reachable/ block zipPreds :: LastNode l => LGraph m l -> BlockEnv BlockSet zipPreds g = foldl add emptyBlockEnv (postorder_dfs g) - where add env block@(Block id _) = + where add env block@(Block id _ _) = foldl (\env sid -> let preds = lookupBlockEnv env sid `orElse` emptyBlockSet in extendBlockEnv env sid (extendBlockSet preds id)) @@ -32,7 +31,7 @@ givesUniquePredecessorTo g = \id -> elemBlockSet id singlePreds add_pred pair@(single, multi) id = if elemBlockSet id multi then pair else if elemBlockSet id single then - (delOneFromUniqSet single id, extendBlockSet multi id) + (removeBlockSet single id, extendBlockSet multi id) else (extendBlockSet single id, multi)