X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;ds=sidebyside;f=compiler%2Fvectorise%2FVectType.hs;h=f31ecd8b8b81d26d56388d0df4382b10461e54f8;hb=ddaf8e7149b037fa8826af45d9a32d05580b6627;hp=6e7557e9e20d9f2214e630a2af2491f137364355;hpb=222415a5b658e737a0a1f2c980c6f80635289f75;p=ghc-hetmet.git diff --git a/compiler/vectorise/VectType.hs b/compiler/vectorise/VectType.hs index 6e7557e..f31ecd8 100644 --- a/compiler/vectorise/VectType.hs +++ b/compiler/vectorise/VectType.hs @@ -24,7 +24,7 @@ import OccName import Id import MkId import BasicTypes ( StrictnessMark(..), boolToRecFlag, - dfunInlinePragma ) + alwaysInlinePragma, dfunInlinePragma ) 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` - mkInlineRule InlSat body arity + mkInlineRule needSaturated body arity 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 - `setIdUnfolding` mkInlineRule InlSat body (length args) + `setIdUnfolding` mkInlineRule needSaturated body (length args) + `setInlinePragma` alwaysInlinePragma hoistBinding var body return var