Add -fdph-this
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Tue, 16 Sep 2008 03:37:10 +0000 (03:37 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Tue, 16 Sep 2008 03:37:10 +0000 (03:37 +0000)
compiler/main/DynFlags.hs
compiler/vectorise/Vectorise.hs

index 3d17361..3fcb628 100644 (file)
@@ -1440,6 +1440,9 @@ dynamic_flags = [
   , Flag "fdph-par"
          (NoArg (setDPHBackend DPHPar))
          Supported
+  , Flag "fdph-this"
+         (NoArg (setDPHBackend DPHThis))
+         Supported
 
         ------ Compiler flags -----------------------------------------------
 
@@ -1872,16 +1875,18 @@ setDPHOpt dflags = setOptLevel 2 (dflags { maxSimplIterations  = 20
 
 data DPHBackend = DPHPar
                 | DPHSeq
+                | DPHThis
+        deriving(Eq, Ord, Enum, Show)
 
 setDPHBackend :: DPHBackend -> DynP ()
 setDPHBackend backend 
   = do
       upd $ \dflags -> dflags { dphBackend = backend }
-      exposePackage $ "dph-prim-" ++ suffix backend
-      exposePackage $ "dph-"      ++ suffix backend
+      mapM_ exposePackage (dph_packages backend)
   where
-    suffix DPHPar = "par"
-    suffix DPHSeq = "seq"
+    dph_packages DPHThis = []
+    dph_packages DPHPar  = ["dph-prim-par", "dph-par"]
+    dph_packages DPHSeq  = ["dph-prim-seq", "dph-seq"]
 
 setMainIs :: String -> DynP ()
 setMainIs arg
index c612a0a..8d8bfef 100644 (file)
@@ -53,6 +53,7 @@ vectorise backend hsc_env _ _ guts
 
     backendPackage DPHSeq  = dphSeqPackageId
     backendPackage DPHPar  = dphParPackageId
+    backendPackage DPHThis = thisPackage dflags
 
 vectModule :: ModGuts -> VM ModGuts
 vectModule guts