X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fvectorise%2FVectorise.hs;h=b4b383ea80ffa727652bd5f65369eeaf9905f3b9;hb=2a9d13eca98b0cd5bf16bfc8dd16f74b2d2803e4;hp=22cba53222703604eb5f8b13281dbf4587749d33;hpb=d5744ef51a8b8b1e063daa98026a9f803bfc88b4;p=ghc-hetmet.git diff --git a/compiler/vectorise/Vectorise.hs b/compiler/vectorise/Vectorise.hs index 22cba53..b4b383e 100644 --- a/compiler/vectorise/Vectorise.hs +++ b/compiler/vectorise/Vectorise.hs @@ -3,7 +3,9 @@ module Vectorise( vectorise ) where -import VectType +import Vectorise.Type.Env +import Vectorise.Type.Type +import Vectorise.Convert import Vectorise.Utils.Hoisting import Vectorise.Exp import Vectorise.Vect @@ -13,7 +15,7 @@ import Vectorise.Monad import HscTypes hiding ( MonadThings(..) ) import Module ( PackageId ) import CoreSyn -import CoreUnfold ( mkInlineRule ) +import CoreUnfold ( mkInlineUnfolding ) import CoreFVs import CoreMonad ( CoreM, getHscEnv ) import FamInstEnv ( extendFamInstEnvList ) @@ -23,6 +25,8 @@ import OccName import BasicTypes ( isLoopBreaker ) import Outputable import Util ( zipLazy ) +import MonadUtils + import Control.Monad debug = False @@ -166,7 +170,7 @@ vectTopBinder var inline expr vty <- vectType (idType var) -- Make the vectorised version of binding's name, and set the unfolding used for inlining. - var' <- liftM (`setIdUnfolding` unfolding) + var' <- liftM (`setIdUnfoldingLazily` unfolding) $ cloneId mkVectOcc var vty -- Add the mapping between the plain and vectorised name to the state. @@ -175,7 +179,7 @@ vectTopBinder var inline expr return var' where unfolding = case inline of - Inline arity -> mkInlineRule expr (Just arity) + Inline arity -> mkInlineUnfolding (Just arity) expr DontInline -> noUnfolding