X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FndpFlatten%2FFlattenMonad.hs;fp=ghc%2Fcompiler%2FndpFlatten%2FFlattenMonad.hs;h=cbdc2060f4d4d47df47631500fedc45b568093e7;hb=f714e6b642fd614a9971717045ae47c3d871275e;hp=a408eca279323909354b81c260eaf7ab04a20000;hpb=9e90a28e134b8e5af3f6ec9b7300bc41324fea9c;p=ghc-hetmet.git diff --git a/ghc/compiler/ndpFlatten/FlattenMonad.hs b/ghc/compiler/ndpFlatten/FlattenMonad.hs index a408eca..cbdc206 100644 --- a/ghc/compiler/ndpFlatten/FlattenMonad.hs +++ b/ghc/compiler/ndpFlatten/FlattenMonad.hs @@ -274,7 +274,7 @@ packContext perm m = Flatten $ \state -> -- generate a binding for the packed variant of a context variable -- mkCoreBind var = let - rhs = fst $ unFlatten (mk'bpermuteP (varType var) + rhs = fst $ unFlatten (mk'bpermuteP (idType var) (Var perm) (Var var) ) state @@ -301,9 +301,9 @@ liftVar :: Var -> Flatten CoreExpr liftVar var = Flatten $ \s -> let v = ctxtVarErr s - v'elemType = parrElemTy . varType $ v + v'elemType = parrElemTy . idType $ v len = fst $ unFlatten (mk'lengthP v'elemType (Var v)) s - replicated = fst $ unFlatten (mk'replicateP (varType var) len (Var var)) s + replicated = fst $ unFlatten (mk'replicateP (idType var) len (Var var)) s in case lookupVarEnv (ctxtEnv s) var of Just liftedVar -> (Var liftedVar, s {usedVars = usedVars s `extendVarSet` var}) @@ -318,7 +318,7 @@ liftConst :: CoreExpr -> Flatten CoreExpr liftConst e = Flatten $ \s -> let v = ctxtVarErr s - v'elemType = parrElemTy . varType $ v + v'elemType = parrElemTy . idType $ v len = fst $ unFlatten (mk'lengthP v'elemType (Var v)) s in (fst $ unFlatten (mk'replicateP (exprType e) len e ) s, s)