X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FHscMain.lhs;h=d68058db76e9e6db102430692bf84f55be6aa528;hb=8e73f2c0cf07a4b235fcc1d1903ec69b41107dee;hp=93324d59bc789e19c32e0238c5d2372e70e6455b;hpb=d0f6db5b0cf1189d84e292aeca350211f3b810dd;p=ghc-hetmet.git diff --git a/compiler/main/HscMain.lhs b/compiler/main/HscMain.lhs index 93324d5..d68058d 100644 --- a/compiler/main/HscMain.lhs +++ b/compiler/main/HscMain.lhs @@ -33,6 +33,7 @@ import CoreSyn ( CoreExpr ) import CoreTidy ( tidyExpr ) import CorePrep ( corePrepExpr ) import Flattening ( flattenExpr ) +import Vectorise ( vectorise ) import Desugar ( deSugarExpr ) import SimplCore ( simplifyExpr ) import TcRnDriver ( tcRnStmt, tcRnExpr, tcRnType ) @@ -66,6 +67,7 @@ import PrelInfo ( wiredInThings, basicKnownKeyNames ) import MkIface ( checkOldIface, mkIface, writeIfaceFile ) import Desugar ( deSugar ) import Flattening ( flatten ) +import Vectorise ( vectorise ) import SimplCore ( core2core ) import TidyPgm ( tidyProgram, mkBootModDetails ) import CorePrep ( corePrepPgm ) @@ -76,6 +78,7 @@ import SimplStg ( stg2stg ) import CodeGen ( codeGen ) import CmmParse ( parseCmmFile ) import CmmCPS +import CmmInfo import CodeOutput ( codeOutput ) import NameEnv ( emptyNameEnv ) @@ -475,13 +478,13 @@ hscSimplify :: ModGuts -> Comp ModGuts hscSimplify ds_result = do hsc_env <- gets compHscEnv liftIO $ do - flat_result <- {-# SCC "Flattening" #-} - flatten hsc_env ds_result + vect_result <- {-# SCC "Vectorisation" #-} + vectorise hsc_env ds_result ------------------- -- SIMPLIFY ------------------- simpl_result <- {-# SCC "Core2Core" #-} - core2core hsc_env flat_result + core2core hsc_env vect_result return simpl_result -------------------------------------------------------------- @@ -605,7 +608,8 @@ hscCompile cgguts foreign_stubs dir_imps cost_centre_info stg_binds hpc_info ------------------ Convert to CPS -------------------- - continuationC <- cmmCPS dflags abstractC + --continuationC <- cmmCPS dflags abstractC >>= cmmToRawCmm + continuationC <- cmmToRawCmm abstractC ------------------ Code output ----------------------- (stub_h_exists,stub_c_exists) <- codeOutput dflags this_mod location foreign_stubs @@ -721,7 +725,8 @@ hscCmmFile dflags filename = do case maybe_cmm of Nothing -> return False Just cmm -> do - continuationC <- cmmCPS dflags [cmm] + --continuationC <- cmmCPS dflags [cmm] >>= cmmToRawCmm + continuationC <- cmmToRawCmm [cmm] codeOutput dflags no_mod no_loc NoStubs [] continuationC return True where