projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Link with hpc even if GhcWithInterpreter is not set
[ghc-hetmet.git]
/
compiler
/
vectorise
/
VectMonad.hs
diff --git
a/compiler/vectorise/VectMonad.hs
b/compiler/vectorise/VectMonad.hs
index
ed18f1f
..
0329af8
100644
(file)
--- a/
compiler/vectorise/VectMonad.hs
+++ b/
compiler/vectorise/VectMonad.hs
@@
-3,7
+3,7
@@
module VectMonad (
VM,
noV, tryV, maybeV, orElseV, fixV, localV, closedV, initV,
VM,
noV, tryV, maybeV, orElseV, fixV, localV, closedV, initV,
- cloneName, newLocalVar, newTyVar,
+ cloneName, newExportedVar, newLocalVar, newDummyVar, newTyVar,
Builtins(..), paDictTyCon, paDictDataCon,
builtin,
Builtins(..), paDictTyCon, paDictDataCon,
builtin,
@@
-47,6
+47,7
@@
import FamInstEnv
import Panic
import Outputable
import FastString
import Panic
import Outputable
import FastString
+import SrcLoc ( noSrcSpan )
import Control.Monad ( liftM )
import Control.Monad ( liftM )
@@
-280,12
+281,25
@@
cloneName mk_occ name = liftM make (liftDs newUnique)
(nameSrcSpan name)
| otherwise = mkSystemName u occ_name
(nameSrcSpan name)
| otherwise = mkSystemName u occ_name
+newExportedVar :: OccName -> Type -> VM Var
+newExportedVar occ_name ty
+ = do
+ mod <- liftDs getModuleDs
+ u <- liftDs newUnique
+
+ let name = mkExternalName u mod occ_name noSrcSpan
+
+ return $ Id.mkExportedLocalId name ty
+
newLocalVar :: FastString -> Type -> VM Var
newLocalVar fs ty
= do
u <- liftDs newUnique
return $ mkSysLocal fs u ty
newLocalVar :: FastString -> Type -> VM Var
newLocalVar fs ty
= do
u <- liftDs newUnique
return $ mkSysLocal fs u ty
+newDummyVar :: Type -> VM Var
+newDummyVar = newLocalVar FSLIT("ds")
+
newTyVar :: FastString -> Kind -> VM Var
newTyVar fs k
= do
newTyVar :: FastString -> Kind -> VM Var
newTyVar fs k
= do