diff options
author | Roman Leshchinskiy <rl@cse.unsw.edu.au> | 2007-07-16 06:19:00 +0000 |
---|---|---|
committer | Roman Leshchinskiy <rl@cse.unsw.edu.au> | 2007-07-16 06:19:00 +0000 |
commit | 913c612f25e118f06a2c21617fbccf34b80f1146 (patch) | |
tree | de32bb00a013b3d5cc5f5740cc1aace4af5a7927 /compiler/vectorise/Vectorise.hs | |
parent | 986622b97885ed080680754d23e43fcff9b9e57f (diff) | |
download | haskell-913c612f25e118f06a2c21617fbccf34b80f1146.tar.gz |
Make vectorisation part of the optimiser pipeline
Diffstat (limited to 'compiler/vectorise/Vectorise.hs')
-rw-r--r-- | compiler/vectorise/Vectorise.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/vectorise/Vectorise.hs b/compiler/vectorise/Vectorise.hs index 59039e93f5..96fe9d23f7 100644 --- a/compiler/vectorise/Vectorise.hs +++ b/compiler/vectorise/Vectorise.hs @@ -13,6 +13,8 @@ import CoreLint ( showPass, endPass ) import CoreSyn import CoreUtils import CoreFVs +import SimplMonad ( SimplCount, zeroSimplCount ) +import Rules ( RuleBase ) import DataCon import TyCon import Type @@ -38,17 +40,16 @@ import FastString import Control.Monad ( liftM, liftM2, mapAndUnzipM, zipWithM_ ) import Data.Maybe ( maybeToList ) -vectorise :: HscEnv -> ModGuts -> IO ModGuts -vectorise hsc_env guts - | not (Opt_Vectorise `dopt` dflags) = return guts - | otherwise +vectorise :: HscEnv -> UniqSupply -> RuleBase -> ModGuts + -> IO (SimplCount, ModGuts) +vectorise hsc_env _ _ guts = do showPass dflags "Vectorisation" eps <- hscEPS hsc_env let info = hptVectInfo hsc_env `plusVectInfo` eps_vect_info eps Just (info', guts') <- initV hsc_env guts info (vectModule guts) endPass dflags "Vectorisation" Opt_D_dump_vect (mg_binds guts') - return $ guts' { mg_vect_info = info' } + return (zeroSimplCount dflags, guts' { mg_vect_info = info' }) where dflags = hsc_dflags hsc_env |