X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=ghc%2Fcompiler%2FsimplCore%2FLiberateCase.lhs;h=a75cd48b196000f766e5b0de777aae9e29b8177c;hp=2b46c88dc64b904278b786c5c377c818a134bdce;hb=f01a8e8c9c53bfb5ab3393ed3457ebf25390efa1;hpb=cc051dd76d01b61caae6f4e1fc177c9815716961 diff --git a/ghc/compiler/simplCore/LiberateCase.lhs b/ghc/compiler/simplCore/LiberateCase.lhs index 2b46c88..a75cd48 100644 --- a/ghc/compiler/simplCore/LiberateCase.lhs +++ b/ghc/compiler/simplCore/LiberateCase.lhs @@ -196,14 +196,15 @@ libCase :: LibCaseEnv -> CoreExpr -> CoreExpr -libCase env (Lit lit) = Lit lit -libCase env (Var v) = mkCoLetsNoUnboxed (libCaseId env v) (Var v) -libCase env (App fun arg) = mkCoLetsNoUnboxed (libCaseAtom env arg) (App (libCase env fun) arg) -libCase env (CoTyApp fun ty) = CoTyApp (libCase env fun) ty -libCase env (Con con tys args) = mkCoLetsNoUnboxed (libCaseAtoms env args) (Con con tys args) -libCase env (Prim op tys args) = mkCoLetsNoUnboxed (libCaseAtoms env args) (Prim op tys args) -libCase env (CoTyLam tyvar body) = CoTyLam tyvar (libCase env body) -libCase env (SCC cc body) = SCC cc (libCase env body) +libCase env (Lit lit) = Lit lit +libCase env (Var v) = mkCoLetsNoUnboxed (libCaseId env v) (Var v) +libCase env (App fun arg) = mkCoLetsNoUnboxed (libCaseAtom env arg) (App (libCase env fun) arg) +libCase env (CoTyApp fun ty) = CoTyApp (libCase env fun) ty +libCase env (Con con tys args) = mkCoLetsNoUnboxed (libCaseAtoms env args) (Con con tys args) +libCase env (Prim op tys args) = mkCoLetsNoUnboxed (libCaseAtoms env args) (Prim op tys args) +libCase env (CoTyLam tv body) = CoTyLam tv (libCase env body) +libCase env (SCC cc body) = SCC cc (libCase env body) +libCase env (Coerce c ty body) = Coerce c ty (libCase env body) libCase env (Lam binder body) = Lam binder (libCase (addBinders env [binder]) body)