[commit: ghc] wip/js-hoopl-cleanup: Siplify forward analysis (e7a7a62)

git at git.haskell.org git at git.haskell.org
Thu Feb 11 09:05:55 UTC 2016


Repository : ssh://git@git.haskell.org/ghc

On branch  : wip/js-hoopl-cleanup
Link       : http://ghc.haskell.org/trac/ghc/changeset/e7a7a6270d28536ceca3696eff99e7c6fa32ddab/ghc

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

commit e7a7a6270d28536ceca3696eff99e7c6fa32ddab
Author: Jan Stolarek <jan.stolarek at p.lodz.pl>
Date:   Mon Jan 18 21:04:09 2016 +0100

    Siplify forward analysis


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

e7a7a6270d28536ceca3696eff99e7c6fa32ddab
 compiler/cmm/Hoopl/Dataflow.hs | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/compiler/cmm/Hoopl/Dataflow.hs b/compiler/cmm/Hoopl/Dataflow.hs
index 50a3426..6507d7e 100644
--- a/compiler/cmm/Hoopl/Dataflow.hs
+++ b/compiler/cmm/Hoopl/Dataflow.hs
@@ -236,15 +236,11 @@ analyzeFwd
    -> FactBase f
 analyzeFwd FwdPass { fp_lattice = lattice,
                      fp_transfer = FwdTransfer3 (ftr, mtr, ltr) }
-  entries g in_fact = graph g in_fact
+  (JustC entries) (GMany NothingO blockmap NothingO) in_fact
+  = body entries in_fact
   where
-    graph :: Graph n C C -> Fact C f -> FactBase f
-    graph (GMany entry blockmap NothingO)
-      = case (entries, entry) of
-         (JustC entries, NothingO) -> body entries
-     where
-       body  :: [Label] -> FactBase f -> FactBase f
-       body entries f
+    body  :: [Label] -> FactBase f -> FactBase f
+    body entries f
          = fixpointAnal Fwd (fact_join lattice) do_block entries blockmap f
          where
            do_block :: forall x . Block n C x -> FactBase f -> Fact x f



More information about the ghc-commits mailing list