projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix vectorisation of recursive types
[ghc-hetmet.git]
/
compiler
/
vectorise
/
Vectorise
/
Builtins
/
Initialise.hs
diff --git
a/compiler/vectorise/Vectorise/Builtins/Initialise.hs
b/compiler/vectorise/Vectorise/Builtins/Initialise.hs
index
d9a1f0d
..
9e78f11
100644
(file)
--- a/
compiler/vectorise/Vectorise/Builtins/Initialise.hs
+++ b/
compiler/vectorise/Vectorise/Builtins/Initialise.hs
@@
-46,14
+46,15
@@
initBuiltins pkg
let [parrayDataCon] = tyConDataCons parrayTyCon
pdataTyCon <- externalTyCon dph_PArray (fsLit "PData")
let [parrayDataCon] = tyConDataCons parrayTyCon
pdataTyCon <- externalTyCon dph_PArray (fsLit "PData")
- pa <- externalClass dph_PArray (fsLit "PA")
- let paTyCon = classTyCon pa
+ paClass <- externalClass dph_PArray (fsLit "PA")
+ let paTyCon = classTyCon paClass
[paDataCon] = tyConDataCons paTyCon
[paDataCon] = tyConDataCons paTyCon
- paPRSel = classSCSelId pa 0
+ paPRSel = classSCSelId paClass 0
preprTyCon <- externalTyCon dph_PArray (fsLit "PRepr")
preprTyCon <- externalTyCon dph_PArray (fsLit "PRepr")
- prTyCon <- externalClassTyCon dph_PArray (fsLit "PR")
- let [prDataCon] = tyConDataCons prTyCon
+ prClass <- externalClass dph_PArray (fsLit "PR")
+ let prTyCon = classTyCon prClass
+ [prDataCon] = tyConDataCons prTyCon
closureTyCon <- externalTyCon dph_Closure (fsLit ":->")
closureTyCon <- externalTyCon dph_Closure (fsLit ":->")
@@
-127,10
+128,12
@@
initBuiltins pkg
, parrayTyCon = parrayTyCon
, parrayDataCon = parrayDataCon
, pdataTyCon = pdataTyCon
, parrayTyCon = parrayTyCon
, parrayDataCon = parrayDataCon
, pdataTyCon = pdataTyCon
+ , paClass = paClass
, paTyCon = paTyCon
, paDataCon = paDataCon
, paPRSel = paPRSel
, preprTyCon = preprTyCon
, paTyCon = paTyCon
, paDataCon = paDataCon
, paPRSel = paPRSel
, preprTyCon = preprTyCon
+ , prClass = prClass
, prTyCon = prTyCon
, prDataCon = prDataCon
, voidTyCon = voidTyCon
, prTyCon = prTyCon
, prDataCon = prDataCon
, voidTyCon = voidTyCon
@@
-308,9
+311,3
@@
externalClass :: Module -> FastString -> DsM Class
externalClass mod fs
= dsLookupClass =<< lookupOrig mod (mkClsOccFS fs)
externalClass mod fs
= dsLookupClass =<< lookupOrig mod (mkClsOccFS fs)
-
--- | Like `externalClass`, but get the TyCon of of the class.
-externalClassTyCon :: Module -> FastString -> DsM TyCon
-externalClassTyCon mod fs = liftM classTyCon (externalClass mod fs)
-
-