[project @ 1996-03-19 08:58:34 by partain]
[ghc-hetmet.git] / ghc / compiler / stgSyn / StgFuns.lhs
diff --git a/ghc/compiler/stgSyn/StgFuns.lhs b/ghc/compiler/stgSyn/StgFuns.lhs
deleted file mode 100644 (file)
index 8dd3f87..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-x%
-% (c) The GRASP/AQUA Project, Glasgow University, 1993-1995
-%
-\section[StgFuns]{Utility functions for @STG@ programs}
-
-\begin{code}
-#include "HsVersions.h"
-
-module StgFuns (
-       mapStgBindeesRhs
-    ) where
-
-import StgSyn
-
-import UniqSet
-import Unique
-
-import Util
-\end{code}
-
-This utility function simply applies the given function to every
-bindee in the program.
-
-\begin{code}
-mapStgBindeesBind :: (Id -> Id) -> PlainStgBinding -> PlainStgBinding
-
-mapStgBindeesBind fn (StgNonRec b rhs) = StgNonRec b (mapStgBindeesRhs fn rhs)
-mapStgBindeesBind fn (StgRec pairs)    = StgRec [ (b, mapStgBindeesRhs fn r) | (b, r) <- pairs ]
-
-------------------
-mapStgBindeesRhs :: (Id -> Id) -> PlainStgRhs -> PlainStgRhs
-
-mapStgBindeesRhs fn (StgRhsClosure cc bi fvs u args expr)
-  = StgRhsClosure 
-       cc bi 
-       (map fn fvs) 
-       u 
-       (map fn args) 
-       (mapStgBindeesExpr fn expr)
-
-mapStgBindeesRhs fn (StgRhsCon cc con atoms)
-  = StgRhsCon cc con (map (mapStgBindeesAtom fn) atoms)
-
-------------------
-mapStgBindeesExpr :: (Id -> Id) -> PlainStgExpr -> PlainStgExpr
-
-mapStgBindeesExpr fn (StgApp f args lvs)
-  = StgApp (mapStgBindeesAtom fn f) 
-          (map (mapStgBindeesAtom fn) args) 
-          (mapUniqSet fn lvs)
-
-mapStgBindeesExpr fn (StgConApp con atoms lvs)
-  = StgConApp con (map (mapStgBindeesAtom fn) atoms) (mapUniqSet fn lvs)
-
-mapStgBindeesExpr fn (StgPrimApp op atoms lvs)
-  = StgPrimApp op (map (mapStgBindeesAtom fn) atoms) (mapUniqSet fn lvs)
-
-mapStgBindeesExpr fn (StgLet bind expr)
-  = StgLet (mapStgBindeesBind fn bind) (mapStgBindeesExpr fn expr)
-
-mapStgBindeesExpr fn (StgLetNoEscape lvs rhss_lvs bind body)
-  = StgLetNoEscape (mapUniqSet fn lvs) (mapUniqSet fn rhss_lvs)
-                  (mapStgBindeesBind fn bind) (mapStgBindeesExpr fn body)
-
-mapStgBindeesExpr fn (StgSCC ty label expr)
-  = StgSCC ty label (mapStgBindeesExpr fn expr)
-
-mapStgBindeesExpr fn (StgCase expr lvs1 lvs2 uniq alts)
-  = StgCase (mapStgBindeesExpr fn expr)
-           (mapUniqSet fn lvs1)
-           (mapUniqSet fn lvs2)
-           uniq
-           (mapStgBindeesAlts alts)
-  where
-    mapStgBindeesAlts (StgAlgAlts ty alts deflt)
-      = StgAlgAlts ty (map mapStgBindeesBoxed_alt alts) (mapStgBindeesDeflt deflt)
-      where
-       mapStgBindeesBoxed_alt (c,ps,use_mask,expr) = (c,ps,use_mask,mapStgBindeesExpr fn expr)
-
-    mapStgBindeesAlts (StgPrimAlts ty alts deflt)
-      = StgPrimAlts ty (map mapStgBindeesunboxed_alt alts) (mapStgBindeesDeflt deflt)
-      where
-       mapStgBindeesunboxed_alt (l,expr) = (l,mapStgBindeesExpr fn expr)
-
-    mapStgBindeesDeflt StgNoDefault                = StgNoDefault
-    mapStgBindeesDeflt (StgBindDefault b used expr) = StgBindDefault b used (mapStgBindeesExpr fn expr)
-
-------------------
-mapStgBindeesAtom :: (Id -> Id) -> PlainStgAtom -> PlainStgAtom
-
-mapStgBindeesAtom fn a@(StgLitAtom _)  = a
-mapStgBindeesAtom fn a@(StgVarAtom id)  = StgVarAtom (fn id)
-\end{code}