Repository : ssh://darcs.haskell.org//srv/darcs/ghc

On branch  : newcg

http://hackage.haskell.org/trac/ghc/changeset/79c8c5cb20aa57e7b0a9fa27cbf3e4287acb203f

>---------------------------------------------------------------

commit 79c8c5cb20aa57e7b0a9fa27cbf3e4287acb203f
Author: Simon Marlow <[email protected]>
Date:   Fri Jan 27 11:22:07 2012 +0000

    Move the 2nd control-flow optimisation pass
    
    It was causing wrong info tables where it was; I'm not entirely sure
    why.

>---------------------------------------------------------------

 compiler/cmm/CmmPipeline.hs |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/compiler/cmm/CmmPipeline.hs b/compiler/cmm/CmmPipeline.hs
index 7af9f57..8bccc9d 100644
--- a/compiler/cmm/CmmPipeline.hs
+++ b/compiler/cmm/CmmPipeline.hs
@@ -160,15 +160,17 @@ cpsTop hsc_env (CmmProc h@(TopInfo {stack_info=StackInfo 
{arg_space=entry_off}})
        gs <- {-# SCC "lowerSafeForeignCalls" #-} run $ mapM 
(lowerSafeForeignCalls areaMap) gs
        dumps Opt_D_dump_cmmz_lower "Post lowerSafeForeignCalls" gs
 
+       -- NO MORE GRAPH TRANSFORMATION AFTER HERE -- JUST MAKING INFOTABLES
+       gs <- {-# SCC "setInfoTableStackMap" #-} return $ map 
(setInfoTableStackMap slotEnv areaMap) gs
+       dumps Opt_D_dump_cmmz_info "after setInfoTableStackMap" gs
+
        ----------- Control-flow optimisations ---------------
        gs <- {-# SCC "cmmCfgOpts(2)" #-} return $ map cmmCfgOptsProc gs
        dumps Opt_D_dump_cmmz_cfg "Post control-flow optimsations" gs
 
-       -- NO MORE GRAPH TRANSFORMATION AFTER HERE -- JUST MAKING INFOTABLES
-       gs <- {-# SCC "setInfoTableStackMap" #-} return $ map 
(setInfoTableStackMap slotEnv areaMap) gs
-       dumps Opt_D_dump_cmmz_info "after setInfoTableStackMap" gs
        gs <- {-# SCC "bundleCAFs" #-} return $ map (bundleCAFs cafEnv) gs
        dumps Opt_D_dump_cmmz_cafs "after bundleCAFs" gs
+
        return (localCAFs, gs)
 
               -- gs        :: [ (CAFSet, CmmDecl) ]



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to