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}
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)
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