[project @ 2000-10-11 16:45:53 by sewardj]
[ghc-hetmet.git] / ghc / compiler / simplStg / LambdaLift.lhs
index 837293b..20c6c10 100644 (file)
@@ -11,7 +11,7 @@ module LambdaLift ( liftProgram ) where
 import StgSyn
 
 import Bag             ( Bag, emptyBag, unionBags, unitBag, snocBag, bagToList )
-import Id              ( mkUserId, idType, setIdArity, Id )
+import Id              ( mkVanillaId, idType, setIdArityInfo, Id )
 import VarSet
 import VarEnv
 import IdInfo          ( exactArity )
@@ -144,7 +144,9 @@ liftExpr :: StgExpr
         -> LiftM (StgExpr, LiftInfo)
 
 
-liftExpr expr@(StgCon con args _) = returnLM (expr, emptyLiftInfo)
+liftExpr expr@(StgLit _)        = returnLM (expr, emptyLiftInfo)
+liftExpr expr@(StgConApp _ _)   = returnLM (expr, emptyLiftInfo)
+liftExpr expr@(StgPrimApp _ _ _) = returnLM (expr, emptyLiftInfo)
 
 liftExpr expr@(StgApp v args)
   = lookUp v           `thenLM` \ ~(sc, sc_args) ->    -- NB the ~.  We don't want to
@@ -441,8 +443,8 @@ newSupercombinator :: Type
                   -> LiftM Id
 
 newSupercombinator ty arity mod ci us idenv
-  = mkUserId (mkTopName uniq mod SLIT("_ll")) ty
-    `setIdArity` exactArity arity
+  = mkVanillaId (mkTopName uniq mod SLIT("_ll")) ty
+    `setIdArityInfo` exactArity arity
        -- ToDo: rm the setIdArity?  Just let subsequent stg-saturation pass do it?
   where
     uniq = uniqFromSupply us