summaryrefslogtreecommitdiff
path: root/compiler/vectorise/Vectorise/Utils
diff options
context:
space:
mode:
authorManuel M T Chakravarty <chak@cse.unsw.edu.au>2011-09-10 16:55:21 +1000
committerManuel M T Chakravarty <chak@cse.unsw.edu.au>2011-09-10 16:59:44 +1000
commit4d7033df4912e0efc85ad37555897d7b33651a0b (patch)
tree04f9ead23e5b1ec83713c0afe448a8c9f4c28e36 /compiler/vectorise/Vectorise/Utils
parentb3bc5f4f49a01be12aff0e4369db62331c147179 (diff)
downloadhaskell-4d7033df4912e0efc85ad37555897d7b33651a0b.tar.gz
Report bindings that cannot be vectorised
- Toplevel bindings that cannot be vectorised are reported as a warning - '-ddump-vt-trace' has even more information about unvectorised code - Fixed some documentation
Diffstat (limited to 'compiler/vectorise/Vectorise/Utils')
-rw-r--r--compiler/vectorise/Vectorise/Utils/PADict.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/vectorise/Vectorise/Utils/PADict.hs b/compiler/vectorise/Vectorise/Utils/PADict.hs
index 33418d45e3..740a647180 100644
--- a/compiler/vectorise/Vectorise/Utils/PADict.hs
+++ b/compiler/vectorise/Vectorise/Utils/PADict.hs
@@ -128,8 +128,9 @@ prDictOfPReprInstTyCon ty prepr_tc prepr_args
| otherwise = cantVectorise "Invalid PRepr type instance" (ppr ty)
--- | Get the PR dictionary for a type. The argument must be a representation
+-- |Get the PR dictionary for a type. The argument must be a representation
-- type.
+--
prDictOfReprType :: Type -> VM CoreExpr
prDictOfReprType ty
| Just (tycon, tyargs) <- splitTyConApp_maybe ty
@@ -143,7 +144,8 @@ prDictOfReprType ty
return $ Var sel `App` Type ty' `App` pa
else do
-- a representation tycon must have a PR instance
- dfun <- maybeV $ lookupTyConPR tycon
+ dfun <- maybeV (text "look up PR dictionary for" <+> ppr tycon) $
+ lookupTyConPR tycon
prDFunApply dfun tyargs
| otherwise