[project @ 1996-07-15 16:16:46 by partain]
[ghc-hetmet.git] / ghc / compiler / simplCore / SimplPgm.lhs
index dc9d1c4..a2d2797 100644 (file)
@@ -8,26 +8,26 @@
 
 module SimplPgm ( simplifyPgm ) where
 
-import Ubiq{-uitous-}
+IMP_Ubiq(){-uitous-}
 
 import CmdLineOpts     ( opt_D_verbose_core2core,
-                         switchIsOn, intSwitchSet, SimplifierSwitch(..)
+                         switchIsOn, SimplifierSwitch(..)
                        )
 import CoreSyn
+import CoreUnfold      ( SimpleUnfolding )
 import CoreUtils       ( substCoreExpr )
 import Id              ( externallyVisibleId,
-                         mkIdEnv, lookupIdEnv, IdEnv(..),
+                         mkIdEnv, lookupIdEnv, SYN_IE(IdEnv),
                          GenId{-instance Ord3-}
                        )
 import Maybes          ( catMaybes )
 import OccurAnal       ( occurAnalyseBinds )
-import Outputable      ( isExported )
 import Pretty          ( ppAboves, ppBesides, ppInt, ppChar, ppStr )
 import SimplEnv
 import SimplMonad
 import Simplify                ( simplTopBinds )
-import TyVar           ( nullTyVarEnv, TyVarEnv(..) )
-import UniqSupply      ( thenUs, returnUs, mapUs, splitUniqSupply, UniqSM(..) )
+import TyVar           ( nullTyVarEnv, SYN_IE(TyVarEnv) )
+import UniqSupply      ( thenUs, returnUs, mapUs, splitUniqSupply, SYN_IE(UniqSM) )
 import Util            ( isIn, isn'tIn, removeDups, pprTrace )
 \end{code}
 
@@ -51,10 +51,7 @@ simplifyPgm binds s_sw_chkr simpl_stats us
 
     occur_anal = occurAnalyseBinds
 
-    max_simpl_iterations
-      = case (intSwitchSet s_sw_chkr MaxSimplifierIterations) of
-         Nothing  -> 1    -- default
-         Just max -> max
+    max_simpl_iterations = getSimplIntSwitch s_sw_chkr MaxSimplifierIterations
 
     simpl_pgm :: Int -> Int -> [CoreBinding] -> SmplM ([CoreBinding], Int, SimplCount)
 
@@ -144,7 +141,7 @@ tidy_top binds_in
     find_cand blast_list (Rec _) = blast_list  -- recursively paranoid, as usual
 
     find_cand blast_list (NonRec binder rhs)
-      = if not (isExported binder) then
+      = if not (externallyVisibleId binder) then
           blast_list
        else
           case rhs_equiv_to_local_var rhs of