summaryrefslogtreecommitdiff
path: root/compiler/iface/MkIface.lhs
diff options
context:
space:
mode:
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>2012-12-05 15:28:19 +1100
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>2012-12-05 15:28:19 +1100
commitb77da25ef0d95e776a43779bbb4843eb01d33552 (patch)
tree4aeb4d158a5e66d033bca83f2a804b2ce394b5ad /compiler/iface/MkIface.lhs
parent2a7217e3fa39410ac61e17f5c8e2ce3976bec1a9 (diff)
downloadhaskell-b77da25ef0d95e776a43779bbb4843eb01d33552.tar.gz
Rewrote vectorisation avoidance (based on the HS paper)
* Vectorisation avoidance is now the default * Types and values from unvectorised modules are permitted in scalar code * Simplified the VECTORISE pragmas (see http://hackage.haskell.org/trac/ghc/wiki/DataParallel/VectPragma for the spec) * Vectorisation information is now included in the annotated Core AST
Diffstat (limited to 'compiler/iface/MkIface.lhs')
-rw-r--r--compiler/iface/MkIface.lhs18
1 files changed, 9 insertions, 9 deletions
diff --git a/compiler/iface/MkIface.lhs b/compiler/iface/MkIface.lhs
index ce07b375b3..6aed1b2be4 100644
--- a/compiler/iface/MkIface.lhs
+++ b/compiler/iface/MkIface.lhs
@@ -373,17 +373,17 @@ mkIface_ hsc_env maybe_old_fingerprint
ifFamInstTcName = ifFamInstFam
- flattenVectInfo (VectInfo { vectInfoVar = vVar
- , vectInfoTyCon = vTyCon
- , vectInfoScalarVars = vScalarVars
- , vectInfoScalarTyCons = vScalarTyCons
+ flattenVectInfo (VectInfo { vectInfoVar = vVar
+ , vectInfoTyCon = vTyCon
+ , vectInfoParallelVars = vParallelVars
+ , vectInfoParallelTyCons = vParallelTyCons
}) =
IfaceVectInfo
- { ifaceVectInfoVar = [Var.varName v | (v, _ ) <- varEnvElts vVar]
- , ifaceVectInfoTyCon = [tyConName t | (t, t_v) <- nameEnvElts vTyCon, t /= t_v]
- , ifaceVectInfoTyConReuse = [tyConName t | (t, t_v) <- nameEnvElts vTyCon, t == t_v]
- , ifaceVectInfoScalarVars = [Var.varName v | v <- varSetElems vScalarVars]
- , ifaceVectInfoScalarTyCons = nameSetToList vScalarTyCons
+ { ifaceVectInfoVar = [Var.varName v | (v, _ ) <- varEnvElts vVar]
+ , ifaceVectInfoTyCon = [tyConName t | (t, t_v) <- nameEnvElts vTyCon, t /= t_v]
+ , ifaceVectInfoTyConReuse = [tyConName t | (t, t_v) <- nameEnvElts vTyCon, t == t_v]
+ , ifaceVectInfoParallelVars = [Var.varName v | v <- varSetElems vParallelVars]
+ , ifaceVectInfoParallelTyCons = nameSetToList vParallelTyCons
}
-----------------------------