diff options
author | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2011-11-25 22:57:40 +1100 |
---|---|---|
committer | Manuel M T Chakravarty <chak@cse.unsw.edu.au> | 2011-11-25 23:03:01 +1100 |
commit | 18aae18503442276e14a47eabf4786bc7210662e (patch) | |
tree | dfc556a1b047c0031342db4b8e8d429b5f230613 /compiler/vectorise/Vectorise/Utils | |
parent | 498467cf44e871a6abdb1e16714f6e91c7b10a80 (diff) | |
download | haskell-18aae18503442276e14a47eabf4786bc7210662e.tar.gz |
Fix newtype wrapper for 'PData[s] (Wrap a)' and fix VECTORISE type and instance pragmas
* Correct usage of new type wrappers from MkId
* 'VECTORISE [SCALAR] type T = S' didn't work correctly across module boundaries
* Clean up 'VECTORISE SCALAR instance'
Diffstat (limited to 'compiler/vectorise/Vectorise/Utils')
-rw-r--r-- | compiler/vectorise/Vectorise/Utils/Base.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/vectorise/Vectorise/Utils/Base.hs b/compiler/vectorise/Vectorise/Utils/Base.hs index 6a576659f0..0c111f49c7 100644 --- a/compiler/vectorise/Vectorise/Utils/Base.hs +++ b/compiler/vectorise/Vectorise/Utils/Base.hs @@ -156,7 +156,7 @@ wrapNewTypeBodyOfPDataWrap :: CoreExpr -> Type -> VM CoreExpr wrapNewTypeBodyOfPDataWrap e ty = do { wrap_tc <- builtin wrapTyCon ; pwrap_tc <- pdataReprTyConExact wrap_tc - ; return $ wrapFamInstBody pwrap_tc [ty] (wrapNewTypeBody pwrap_tc [ty] e) + ; return $ wrapNewTypeBody pwrap_tc [ty] e } -- |Strip the constructor wrapper of the 'PData' /newtype/ instance of 'Wrap'. @@ -174,7 +174,7 @@ wrapNewTypeBodyOfPDatasWrap :: CoreExpr -> Type -> VM CoreExpr wrapNewTypeBodyOfPDatasWrap e ty = do { wrap_tc <- builtin wrapTyCon ; pwrap_tc <- pdatasReprTyConExact wrap_tc - ; return $ wrapFamInstBody pwrap_tc [ty] (wrapNewTypeBody pwrap_tc [ty] e) + ; return $ wrapNewTypeBody pwrap_tc [ty] e } -- |Strip the constructor wrapper of the 'PDatas' /newtype/ instance of 'Wrap'. |