projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 1998-12-22 10:47:43 by simonm]
[ghc-hetmet.git]
/
ghc
/
compiler
/
simplCore
/
FoldrBuildWW.lhs
diff --git
a/ghc/compiler/simplCore/FoldrBuildWW.lhs
b/ghc/compiler/simplCore/FoldrBuildWW.lhs
index
50d7f05
..
c0ffc3c
100644
(file)
--- 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}
%
\section[FoldrBuildWW]{Spliting suitable functions into Workers and Wrappers}
@@
-8,9
+8,10
@@
module FoldrBuildWW ( mkFoldrBuildWW ) where
#include "HsVersions.h"
#include "HsVersions.h"
-import CoreSyn ( CoreBinding )
+-- Just a stub for now
+import CoreSyn ( CoreBind )
import UniqSupply ( UniqSupply )
import UniqSupply ( UniqSupply )
-import Util ( panic{-ToDo:rm?-} )
+import Panic ( panic )
--import Type ( cloneTyVarFromTemplate, mkTyVarTy,
-- splitFunTyExpandingDicts, eqTyCon, mkForallTy )
--import Type ( cloneTyVarFromTemplate, mkTyVarTy,
-- splitFunTyExpandingDicts, eqTyCon, mkForallTy )
@@
-24,7
+25,7
@@
import Util ( panic{-ToDo:rm?-} )
-- foldrId, buildId
-- )
--import Id ( getIdFBTypeInfo, mkWorkerId, getIdInfo,
-- foldrId, buildId
-- )
--import Id ( getIdFBTypeInfo, mkWorkerId, getIdInfo,
--- replaceIdInfo, mkSysLocal, idType
+-- mkSysLocal, idType
-- )
--import IdInfo
--import Maybes
-- )
--import IdInfo
--import Maybes
@@
-35,8
+36,8
@@
import Util ( panic{-ToDo:rm?-} )
\begin{code}
mkFoldrBuildWW
:: UniqSupply
\begin{code}
mkFoldrBuildWW
:: UniqSupply
- -> [CoreBinding]
- -> [CoreBinding]
+ -> [CoreBind]
+ -> [CoreBind]
mkFoldrBuildWW = panic "mkFoldrBuildWW (ToDo)"
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]))
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
worker_id = mkWorkerId worker_new_uq id worker_ty
- noIdInfo
-- TODO : CHECK if mkWorkerId is thr
-- right function to use ..
-- Now the bodies
-- 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
worker_rhs
= mkTyLam [] (big_args ++ [alphaTyVar]) (args++[c_id,n_id]) worker_body