import TysPrim ( intPrimTy )
import Unique
-import UniqFM
+import LazyUniqFM
import UniqSet
import Util ( singleton )
import Digraph ( SCC(..), stronglyConnComp )
sumShapeTys :: VM [Type]
sumShapeTys = do
- int_arr <- builtin parrayIntPrimTyCon
- return [intPrimTy, mkTyConApp int_arr [], mkTyConApp int_arr []]
+ int_arr <- builtin intPrimArrayTy
+ return [intPrimTy, int_arr, int_arr]
arrShapeVars :: Repr -> VM [Var]
mkRepr :: TyCon -> VM Repr
mkRepr vect_tc
| [tys] <- rep_tys = boxedProductRepr tys
- | all null rep_tys = enumRepr
+ -- | all null rep_tys = enumRepr
| otherwise = sumRepr =<< mapM unboxedProductRepr rep_tys
where
rep_tys = map dataConRepArgTys $ tyConDataCons vect_tc