projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix Trac #3966: warn about useless UNPACK pragmas
[ghc-hetmet.git]
/
compiler
/
vectorise
/
VectType.hs
diff --git
a/compiler/vectorise/VectType.hs
b/compiler/vectorise/VectType.hs
index
6e7557e
..
37d65db
100644
(file)
--- a/
compiler/vectorise/VectType.hs
+++ b/
compiler/vectorise/VectType.hs
@@
-23,8
+23,8
@@
import FamInstEnv ( FamInst, mkLocalFamInst )
import OccName
import Id
import MkId
import OccName
import Id
import MkId
-import BasicTypes ( StrictnessMark(..), boolToRecFlag,
- dfunInlinePragma )
+import BasicTypes ( HsBang(..), boolToRecFlag,
+ alwaysInlinePragma, dfunInlinePragma )
import Var ( Var, TyVar, varType )
import Name ( Name, getOccName )
import NameEnv
import Var ( Var, TyVar, varType )
import Name ( Name, getOccName )
import NameEnv
@@
-202,7
+202,7
@@
vectDataCon dc
liftDs $ buildDataCon name'
False -- not infix
liftDs $ buildDataCon name'
False -- not infix
- (map (const NotMarkedStrict) arg_tys)
+ (map (const HsNoBang) arg_tys)
[] -- no labelled fields
univ_tvs
[] -- no existential tvs for now
[] -- no labelled fields
univ_tvs
[] -- no existential tvs for now
@@
-693,7
+693,7
@@
buildPDataDataCon orig_name vect_tc repr_tc repr
liftDs $ buildDataCon dc_name
False -- not infix
liftDs $ buildDataCon dc_name
False -- not infix
- (map (const NotMarkedStrict) comp_tys)
+ (map (const HsNoBang) comp_tys)
[] -- no field labels
tvs
[] -- no existentials
[] -- no field labels
tvs
[] -- no existentials
@@
-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