Improve handling of -fdph-* flags
[ghc-hetmet.git] / compiler / vectorise / Vectorise.hs
index 70e69b7..92a19d5 100644 (file)
@@ -10,7 +10,7 @@ import VectCore
 import DynFlags
 import HscTypes hiding      ( MonadThings(..) )
 
-import Module               ( dphSeqPackageId, dphParPackageId )
+import Module               ( PackageId )
 import CoreLint             ( showPass, endPass )
 import CoreSyn
 import CoreUtils
@@ -37,23 +37,19 @@ import FastString
 import Control.Monad        ( liftM, liftM2, zipWithM )
 import Data.List            ( sortBy, unzip4 )
 
-vectorise :: DPHBackend -> HscEnv -> UniqSupply -> RuleBase -> ModGuts
+vectorise :: PackageId -> HscEnv -> UniqSupply -> RuleBase -> ModGuts
           -> IO (SimplCount, ModGuts)
 vectorise backend hsc_env _ _ guts
   = do
       showPass dflags "Vectorisation"
       eps <- hscEPS hsc_env
       let info = hptVectInfo hsc_env `plusVectInfo` eps_vect_info eps
-      Just (info', guts') <- initV (backendPackage backend) hsc_env guts info
-                                   (vectModule guts)
+      Just (info', guts') <- initV backend hsc_env guts info (vectModule guts)
       endPass dflags "Vectorisation" Opt_D_dump_vect (mg_binds guts')
       return (zeroSimplCount dflags, guts' { mg_vect_info = info' })
   where
     dflags = hsc_dflags hsc_env
 
-    backendPackage DPHSeq  = dphSeqPackageId
-    backendPackage DPHPar  = dphParPackageId
-
 vectModule :: ModGuts -> VM ModGuts
 vectModule guts
   = do
@@ -275,7 +271,7 @@ vectExpr e@(fvs, AnnLam bndr _)
   where
     (bs,body) = collectAnnValBinders e
 
-vectExpr e = traceNoV "vectExpr: can't vectorise" (ppr $ deAnnotate e)
+vectExpr e = cantVectorise "Can't vectorise expression" (ppr $ deAnnotate e)
 
 vectLam :: VarSet -> [Var] -> CoreExprWithFVs -> VM VExpr
 vectLam fvs bs body
@@ -298,7 +294,8 @@ vectLam fvs bs body
 
 vectTyAppExpr :: CoreExprWithFVs -> [Type] -> VM VExpr
 vectTyAppExpr (_, AnnVar v) tys = vectPolyVar v tys
-vectTyAppExpr e _ = traceNoV "vectTyAppExpr: can't vectorise" (ppr $ deAnnotate e)
+vectTyAppExpr e tys = cantVectorise "Can't vectorise expression"
+                        (ppr $ deAnnotate e `mkTyApps` tys)
 
 -- We convert
 --