projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Link with hpc even if GhcWithInterpreter is not set
[ghc-hetmet.git]
/
compiler
/
main
/
HscMain.lhs
diff --git
a/compiler/main/HscMain.lhs
b/compiler/main/HscMain.lhs
index
c86bd48
..
2d1f71e
100644
(file)
--- a/
compiler/main/HscMain.lhs
+++ b/
compiler/main/HscMain.lhs
@@
-75,6
+75,8
@@
import Name ( Name, NamedThing(..) )
import SimplStg ( stg2stg )
import CodeGen ( codeGen )
import CmmParse ( parseCmmFile )
import SimplStg ( stg2stg )
import CodeGen ( codeGen )
import CmmParse ( parseCmmFile )
+import CmmCPS
+import CmmInfo
import CodeOutput ( codeOutput )
import NameEnv ( emptyNameEnv )
import CodeOutput ( codeOutput )
import NameEnv ( emptyNameEnv )
@@
-474,13
+476,11
@@
hscSimplify :: ModGuts -> Comp ModGuts
hscSimplify ds_result
= do hsc_env <- gets compHscEnv
liftIO $ do
hscSimplify ds_result
= do hsc_env <- gets compHscEnv
liftIO $ do
- flat_result <- {-# SCC "Flattening" #-}
- flatten hsc_env ds_result
-------------------
-- SIMPLIFY
-------------------
simpl_result <- {-# SCC "Core2Core" #-}
-------------------
-- SIMPLIFY
-------------------
simpl_result <- {-# SCC "Core2Core" #-}
- core2core hsc_env flat_result
+ core2core hsc_env ds_result
return simpl_result
--------------------------------------------------------------
return simpl_result
--------------------------------------------------------------
@@
-603,10
+603,13
@@
hscCompile cgguts
codeGen dflags this_mod data_tycons
foreign_stubs dir_imps cost_centre_info
stg_binds hpc_info
codeGen dflags this_mod data_tycons
foreign_stubs dir_imps cost_centre_info
stg_binds hpc_info
+ ------------------ Convert to CPS --------------------
+ --continuationC <- cmmCPS dflags abstractC >>= cmmToRawCmm
+ continuationC <- cmmToRawCmm abstractC
------------------ Code output -----------------------
(stub_h_exists,stub_c_exists)
<- codeOutput dflags this_mod location foreign_stubs
------------------ Code output -----------------------
(stub_h_exists,stub_c_exists)
<- codeOutput dflags this_mod location foreign_stubs
- dependencies abstractC
+ dependencies continuationC
return stub_c_exists
hscConst :: b -> a -> Comp b
return stub_c_exists
hscConst :: b -> a -> Comp b
@@
-687,8
+690,7
@@
hscFileCheck hsc_env mod_summary compileToCore = do {
md_rules = [panic "no rules"],
-- Rules are CoreRules, not the
-- RuleDecls we get out of the typechecker
md_rules = [panic "no rules"],
-- Rules are CoreRules, not the
-- RuleDecls we get out of the typechecker
- md_vect_info =
- panic "HscMain.hscFileCheck: no VectInfo"
+ md_vect_info = noVectInfo
-- VectInfo is added by the Core
-- vectorisation pass
}
-- VectInfo is added by the Core
-- vectorisation pass
}
@@
-718,7
+720,9
@@
hscCmmFile dflags filename = do
case maybe_cmm of
Nothing -> return False
Just cmm -> do
case maybe_cmm of
Nothing -> return False
Just cmm -> do
- codeOutput dflags no_mod no_loc NoStubs [] [cmm]
+ --continuationC <- cmmCPS dflags [cmm] >>= cmmToRawCmm
+ continuationC <- cmmToRawCmm [cmm]
+ codeOutput dflags no_mod no_loc NoStubs [] continuationC
return True
where
no_mod = panic "hscCmmFile: no_mod"
return True
where
no_mod = panic "hscCmmFile: no_mod"