X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FsimplCore%2FMagicUFs.lhs;fp=ghc%2Fcompiler%2FsimplCore%2FMagicUFs.lhs;h=47d0a27cf497bb301a1c071dc2098aa5f6d96ea9;hb=7d61cb61daa5e433a0cb85b34b7f0c58b2f961ff;hp=a56b4c9003aa823ea96245b0b4944836b458ea0d;hpb=b8875f2f7f596482228645b9751f8f9c592a84c5;p=ghc-hetmet.git diff --git a/ghc/compiler/simplCore/MagicUFs.lhs b/ghc/compiler/simplCore/MagicUFs.lhs index a56b4c9..47d0a27 100644 --- a/ghc/compiler/simplCore/MagicUFs.lhs +++ b/ghc/compiler/simplCore/MagicUFs.lhs @@ -14,6 +14,7 @@ module MagicUFs ( ) where import Ubiq{-uitous-} +import IdLoop -- paranoia checking import CoreSyn import PrelInfo ( mkListTy ) @@ -317,8 +318,8 @@ foldr_fun env (TypeArg ty1:TypeArg ty2:ValArg arg_k:rest_args) foldr_fun _ _ = returnSmpl Nothing isConsFun :: SimplEnv -> CoreArg -> Bool -isConsFun env (VarArg v) = - case lookupUnfolding env v of +isConsFun env (VarArg v) + = case lookupUnfolding env v of GenForm _ _ (Lam (x,_) (Lam (y,_) (Con con tys [VarArg x',VarArg y']))) _ | con == consDataCon && x==x' && y==y' @@ -327,8 +328,8 @@ isConsFun env (VarArg v) = isConsFun env _ = False isNilForm :: SimplEnv -> CoreArg -> Bool -isNilForm env (VarArg v) = - case lookupUnfolding env v of +isNilForm env (VarArg v) + = case lookupUnfolding env v of GenForm _ _ (CoTyApp (Var id) _) _ | id == nilDataCon -> True ConForm id _ _ @@ -338,8 +339,8 @@ isNilForm env (VarArg v) = isNilForm env _ = False getBuildForm :: SimplEnv -> CoreArg -> Maybe Id -getBuildForm env (VarArg v) = - case lookupUnfolding env v of +getBuildForm env (VarArg v) + = case lookupUnfolding env v of GenForm False _ _ _ -> Nothing -- not allowed to inline :-( GenForm _ _ (App (CoTyApp (Var bld) _) (VarArg g)) _ @@ -353,8 +354,8 @@ getBuildForm env _ = Nothing getAugmentForm :: SimplEnv -> CoreArg -> Maybe (Id,CoreArg) -getAugmentForm env (VarArg v) = - case lookupUnfolding env v of +getAugmentForm env (VarArg v) + = case lookupUnfolding env v of GenForm False _ _ _ -> Nothing -- not allowed to inline :-( GenForm _ _ (App (App (CoTyApp (Var bld) _) @@ -387,8 +388,8 @@ getListForm :: SimplEnv -> CoreArg -> Maybe ([CoreArg],CoreArg) -getListForm env (VarArg v) = - case lookupUnfolding env v of +getListForm env (VarArg v) + = case lookupUnfolding env v of ConForm id _ [head,tail] | id == consDataCon -> case getListForm env tail of @@ -398,8 +399,8 @@ getListForm env (VarArg v) = getListForm env _ = Nothing isInterestingArg :: SimplEnv -> CoreArg -> Bool -isInterestingArg env (VarArg v) = - case lookupUnfolding env v of +isInterestingArg env (VarArg v) + = case lookupUnfolding env v of GenForm False _ _ UnfoldNever -> False GenForm _ _ exp guide -> True _ -> False