diff options
author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2012-12-05 15:28:19 +1100 |
---|---|---|
committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2012-12-05 15:28:19 +1100 |
commit | b77da25ef0d95e776a43779bbb4843eb01d33552 (patch) | |
tree | 4aeb4d158a5e66d033bca83f2a804b2ce394b5ad /compiler/parser/Parser.y.pp | |
parent | 2a7217e3fa39410ac61e17f5c8e2ce3976bec1a9 (diff) | |
download | haskell-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/parser/Parser.y.pp')
-rw-r--r-- | compiler/parser/Parser.y.pp | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/compiler/parser/Parser.y.pp b/compiler/parser/Parser.y.pp index 6c19812762..690b005d76 100644 --- a/compiler/parser/Parser.y.pp +++ b/compiler/parser/Parser.y.pp @@ -577,8 +577,7 @@ topdecl :: { OrdList (LHsDecl RdrName) } | '{-# DEPRECATED' deprecations '#-}' { $2 } | '{-# WARNING' warnings '#-}' { $2 } | '{-# RULES' rules '#-}' { $2 } - | '{-# VECTORISE_SCALAR' qvar '#-}' { unitOL $ LL $ VectD (HsVect $2 Nothing) } - | '{-# VECTORISE' qvar '=' exp '#-}' { unitOL $ LL $ VectD (HsVect $2 (Just $4)) } + | '{-# VECTORISE' qvar '=' exp '#-}' { unitOL $ LL $ VectD (HsVect $2 $4) } | '{-# NOVECTORISE' qvar '#-}' { unitOL $ LL $ VectD (HsNoVect $2) } | '{-# VECTORISE' 'type' gtycon '#-}' { unitOL $ LL $ @@ -593,8 +592,6 @@ topdecl :: { OrdList (LHsDecl RdrName) } { unitOL $ LL $ VectD (HsVectTypeIn True $3 (Just $5)) } | '{-# VECTORISE' 'class' gtycon '#-}' { unitOL $ LL $ VectD (HsVectClassIn $3) } - | '{-# VECTORISE_SCALAR' 'instance' type '#-}' - { unitOL $ LL $ VectD (HsVectInstIn $3) } | annotation { unitOL $1 } | decl { unLoc $1 } |