import CmmTx
import DFMonad
-import ZipCfg hiding (freshBlockId) -- use version from DFMonad
+import ZipCfg
import qualified ZipCfg as G
import Outputable
import Control.Monad
import Maybe
+#include "HsVersions.h"
+
{-
\section{A very polymorphic infrastructure for dataflow problems}
set_block_fact () b@(G.Block id _) =
let (h, l) = G.goto_end (G.unzip b) in
do env <- factsEnv
- let block_in = head_in h (last_in comp env l) -- 'in' fact for the block
- setFact id block_in
+ setFact id $ head_in h (last_in comp env l) -- 'in' fact for the block
head_in (G.ZHead h m) out = head_in h (bc_middle_in comp out m)
head_in (G.ZFirst id) out = bc_first_in comp out id
remove_entry_label :: LGraph m l -> Graph m l
remove_entry_label g =
- let FGraph e (ZBlock (ZFirst id tail)) others = entry g
+ let FGraph e (ZBlock (ZFirst id) tail) others = entry g
in ASSERT (id == e) Graph tail others
{-
return a }
where pprFacts env = nest 2 $ vcat $ map pprFact $ ufmToList env
pprFact (id, a) = hang (ppr id <> colon) 4 (ppr a)
+
+
+_unused :: FS.FastString
+_unused = undefined