projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
daccbd2
)
Add PA dfuns to VectMonad state
author
Roman Leshchinskiy
<rl@cse.unsw.edu.au>
Fri, 3 Aug 2007 02:50:14 +0000
(
02:50
+0000)
committer
Roman Leshchinskiy
<rl@cse.unsw.edu.au>
Fri, 3 Aug 2007 02:50:14 +0000
(
02:50
+0000)
compiler/vectorise/VectMonad.hs
patch
|
blob
|
history
diff --git
a/compiler/vectorise/VectMonad.hs
b/compiler/vectorise/VectMonad.hs
index
1beb550
..
b31d798
100644
(file)
--- a/
compiler/vectorise/VectMonad.hs
+++ b/
compiler/vectorise/VectMonad.hs
@@
-131,6
+131,10
@@
data GlobalEnv = GlobalEnv {
--
, global_datacons :: NameEnv DataCon
--
, global_datacons :: NameEnv DataCon
+ -- Mapping from TyCons to their PA dfuns
+ --
+ , global_pa_funs :: NameEnv Var
+
-- External package inst-env & home-package inst-env for class
-- instances
--
-- External package inst-env & home-package inst-env for class
-- instances
--
@@
-172,6
+176,7
@@
initGlobalEnv info instEnvs famInstEnvs bi
(tyConName funTyCon) (closureTyCon bi)
, global_datacons = mapNameEnv snd $ vectInfoDataCon info
(tyConName funTyCon) (closureTyCon bi)
, global_datacons = mapNameEnv snd $ vectInfoDataCon info
+ , global_pa_funs = mapNameEnv snd $ vectInfoPADFun info
, global_inst_env = instEnvs
, global_fam_inst_env = famInstEnvs
, global_bindings = []
, global_inst_env = instEnvs
, global_fam_inst_env = famInstEnvs
, global_bindings = []
@@
-198,6
+203,7
@@
updVectInfo env tyenv info
vectInfoVar = global_exported_vars env
, vectInfoTyCon = mk_env typeEnvTyCons global_tycons
, vectInfoDataCon = mk_env typeEnvDataCons global_datacons
vectInfoVar = global_exported_vars env
, vectInfoTyCon = mk_env typeEnvTyCons global_tycons
, vectInfoDataCon = mk_env typeEnvDataCons global_datacons
+ , vectInfoPADFun = mk_env typeEnvTyCons global_pa_funs
}
where
mk_env from_tyenv from_env = mkNameEnv [(name, (from,to))
}
where
mk_env from_tyenv from_env = mkNameEnv [(name, (from,to))