projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add sliceP mapping to vectoriser builtins
[ghc-hetmet.git]
/
compiler
/
vectorise
/
VectType.hs
diff --git
a/compiler/vectorise/VectType.hs
b/compiler/vectorise/VectType.hs
index
6e7557e
..
83fd512
100644
(file)
--- a/
compiler/vectorise/VectType.hs
+++ b/
compiler/vectorise/VectType.hs
@@
-24,7
+24,7
@@
import OccName
import Id
import MkId
import BasicTypes ( StrictnessMark(..), boolToRecFlag,
import Id
import MkId
import BasicTypes ( StrictnessMark(..), boolToRecFlag,
- dfunInlinePragma )
+ alwaysInlinePragma, dfunInlinePragma )
import Var ( Var, TyVar, varType )
import Name ( Name, getOccName )
import NameEnv
import Var ( Var, TyVar, varType )
import Name ( Name, getOccName )
import NameEnv
@@
-789,7
+789,7
@@
vectDataConWorkers orig_tc vect_tc arr_tc
raw_worker <- cloneId mkVectOcc orig_worker (exprType body)
let vect_worker = raw_worker `setIdUnfolding`
raw_worker <- cloneId mkVectOcc orig_worker (exprType body)
let vect_worker = raw_worker `setIdUnfolding`
- mkInlineRule InlSat body arity
+ mkInlineRule body (Just arity)
defGlobalVar orig_worker vect_worker
return (vect_worker, body)
where
defGlobalVar orig_worker vect_worker
return (vect_worker, body)
where
@@
-830,7
+830,8
@@
buildPADict vect_tc prepr_tc arr_tc repr
let body = mkLams (tvs ++ args) expr
raw_var <- newExportedVar (method_name name) (exprType body)
let var = raw_var
let body = mkLams (tvs ++ args) expr
raw_var <- newExportedVar (method_name name) (exprType body)
let var = raw_var
- `setIdUnfolding` mkInlineRule InlSat body (length args)
+ `setIdUnfolding` mkInlineRule body (Just (length args))
+ `setInlinePragma` alwaysInlinePragma
hoistBinding var body
return var
hoistBinding var body
return var