9 --(f,g) >< (x,y) = (f x, g y)
15 unique (Sig xs) = runST (
17 ; l <- mapM (anno x) xs
21 where anno x xs = mapM (anno' x) xs
22 anno' x y = do { v <- readSTRef x
24 ; return $ addInfo (Loc (Word v)) y
28 convert (Loc y) = Loc y
29 convert (Imm y) = Imm y
30 convert (Reg r x) = Reg (Real r) x
32 convertBack (Loc y) = Loc y
33 convertBack (Imm y) = Imm y
34 convertBack (Reg (Real r) x) = Reg r x
35 convertBack (Reg (Virtual _ (Just r)) x) = Reg r x
36 convertBack t@(Reg (Virtual r Nothing) x) = error "ConvertBack"
38 removeVirtuals t = Trans dest op src info
39 where src = map convertBack $ getSrc t
40 dest = map convertBack $ getDst t
41 info = map convertBack $ getInfo t