Minor refactoring to remove redundant code
[ghc-hetmet.git] / compiler / simplCore / SetLevels.lhs
index c9b0601..ed42089 100644 (file)
@@ -64,7 +64,7 @@ import CoreSubst      ( Subst, emptySubst, extendInScope, extendInScopeList,
 import Id              ( idType, mkSysLocal, isOneShotLambda,
                          zapDemandIdInfo, transferPolyIdInfo,
                          idSpecialisation, idUnfolding, setIdInfo, 
-                         setIdNewStrictness, setIdArity
+                         setIdStrictness, setIdArity
                        )
 import IdInfo
 import Var
@@ -251,15 +251,9 @@ lvlExpr _ env (_, AnnVar v)   = return (lookupVar env v)
 lvlExpr _ _   (_, AnnLit lit) = return (Lit lit)
 
 lvlExpr ctxt_lvl env (_, AnnApp fun arg) = do
-    fun' <- lvl_fun fun
+    fun' <- lvlExpr ctxt_lvl env fun   -- We don't do MFE on partial applications
     arg' <- lvlMFE  False ctxt_lvl env arg
     return (App fun' arg')
-  where
--- gaw 2004
-    lvl_fun (_, AnnCase _ _ _ _) = lvlMFE True ctxt_lvl env fun
-    lvl_fun _                    = lvlExpr ctxt_lvl env fun
-       -- We don't do MFE on partial applications generally,
-       -- but we do if the function is big and hairy, like a case
 
 lvlExpr ctxt_lvl env (_, AnnNote note expr) = do
     expr' <- lvlExpr ctxt_lvl env expr
@@ -398,7 +392,7 @@ lvlMFE strict_ctxt ctxt_lvl env ann_expr@(fvs, _)
                -- Note [Bottoming floats]
        let var_w_str = case exprBotStrictness_maybe expr of
                          Just (arity,str) -> var `setIdArity` arity
-                                                 `setIdNewStrictness` str
+                                                 `setIdStrictness` str
                          Nothing  -> var
        return (Let (NonRec (TB var_w_str dest_lvl) expr') 
                    (mkVarApps (Var var_w_str) abs_vars))