X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FsimplCore%2FFoldrBuildWW.lhs;h=266a617e3abb319d5c53daa4c88515dfef80796b;hb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;hp=50d7f059fd0cc425cfb6d6d7dcb40287de4e37fe;hpb=2c8f04b5b883db74f449dfc8c224929fe28b027d;p=ghc-hetmet.git diff --git a/ghc/compiler/simplCore/FoldrBuildWW.lhs b/ghc/compiler/simplCore/FoldrBuildWW.lhs index 50d7f05..266a617 100644 --- a/ghc/compiler/simplCore/FoldrBuildWW.lhs +++ b/ghc/compiler/simplCore/FoldrBuildWW.lhs @@ -1,5 +1,5 @@ % -% (c) The GRASP/AQUA Project, Glasgow University, 1992-1996 +% (c) The GRASP/AQUA Project, Glasgow University, 1992-1998 % \section[FoldrBuildWW]{Spliting suitable functions into Workers and Wrappers} @@ -8,9 +8,10 @@ module FoldrBuildWW ( mkFoldrBuildWW ) where #include "HsVersions.h" -import CoreSyn ( CoreBinding ) +-- Just a stub for now +import CoreSyn ( CoreBind ) import UniqSupply ( UniqSupply ) -import Util ( panic{-ToDo:rm?-} ) +import Util ( panic ) --import Type ( cloneTyVarFromTemplate, mkTyVarTy, -- splitFunTyExpandingDicts, eqTyCon, mkForallTy ) @@ -24,7 +25,7 @@ import Util ( panic{-ToDo:rm?-} ) -- foldrId, buildId -- ) --import Id ( getIdFBTypeInfo, mkWorkerId, getIdInfo, --- replaceIdInfo, mkSysLocal, idType +-- mkSysLocal, idType -- ) --import IdInfo --import Maybes @@ -35,8 +36,8 @@ import Util ( panic{-ToDo:rm?-} ) \begin{code} mkFoldrBuildWW :: UniqSupply - -> [CoreBinding] - -> [CoreBinding] + -> [CoreBind] + -> [CoreBind] mkFoldrBuildWW = panic "mkFoldrBuildWW (ToDo)" @@ -144,15 +145,14 @@ try_split_bind id expr = worker_ty = mkForallTy (templ ++ [alphaTyVar]) (foldr mkFunTy n_ty_templ (arg_tys++[c_ty_templ,n_ty_templ])) - wrapper_id = addInlinePragma id + wrapper_id = setInlinePragma id IWantToBeINLINEd worker_id = mkWorkerId worker_new_uq id worker_ty - noIdInfo -- TODO : CHECK if mkWorkerId is thr -- right function to use .. -- Now the bodies - c_id = mkSysLocal SLIT("fbww") c_new_uq c_ty noSrcLoc - n_id = mkSysLocal SLIT("fbww") n_new_uq n_ty noSrcLoc + c_id = mkSysLocal SLIT("fbww") c_new_uq c_ty + n_id = mkSysLocal SLIT("fbww") n_new_uq n_ty worker_rhs = mkTyLam [] (big_args ++ [alphaTyVar]) (args++[c_id,n_id]) worker_body