[commit: ghc] newcg: make it compile with earlier GHCs (489edbe)
Simon Marlow
marlowsd at gmail.com
Mon Jan 23 17:03:31 CET 2012
Repository : ssh://darcs.haskell.org//srv/darcs/ghc
On branch : newcg
http://hackage.haskell.org/trac/ghc/changeset/489edbed6891080e09fd2f59a477e0f378ff9ad3
>---------------------------------------------------------------
commit 489edbed6891080e09fd2f59a477e0f378ff9ad3
Author: Simon Marlow <marlowsd at gmail.com>
Date: Mon Jan 23 16:03:18 2012 +0000
make it compile with earlier GHCs
>---------------------------------------------------------------
compiler/cmm/Hoopl/Dataflow.hs | 15 +++++++++------
1 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/compiler/cmm/Hoopl/Dataflow.hs b/compiler/cmm/Hoopl/Dataflow.hs
index 133d926..6230c5e 100644
--- a/compiler/cmm/Hoopl/Dataflow.hs
+++ b/compiler/cmm/Hoopl/Dataflow.hs
@@ -272,9 +272,9 @@ analyzeFwd FwdPass { fp_lattice = lattice,
-- NB. eta-expand block, GHC can't do this by itself. See #5809.
block :: forall e x . Block n e x -> f -> Fact x f
block BNil f = f
- block (BlockCO n b) f = (ftr n `cat` block b) f
- block (BlockCC l b n) f = (ftr l `cat` block b `cat` ltr n) f
- block (BlockOC b n) f = (block b `cat` ltr n) f
+ block (BlockCO n b) f = (ftr n `cat` block b) f
+ block (BlockCC l b n) f = (ftr l `cat` (block b `cat` ltr n)) f
+ block (BlockOC b n) f = (block b `cat` ltr n) f
block (BMiddle n) f = {-# SCC "b1" #-} mtr n f
block (BCat b1 b2) f = {-# SCC "b2" #-} (block b1 `cat` block b2) f
@@ -282,6 +282,7 @@ analyzeFwd FwdPass { fp_lattice = lattice,
block (BTail n t) f = {-# SCC "b4" #-} (mtr n `cat` block t) f
{-# INLINE cat #-}
+ cat :: forall f1 f2 f3 . (f1 -> f2) -> (f2 -> f3) -> (f1 -> f3)
cat ft1 ft2 = \f -> ft2 $! ft1 f
-- | if the graph being analyzed is open at the entry, there must
@@ -319,6 +320,7 @@ analyzeFwdBlocks FwdPass { fp_lattice = lattice,
block (BlockOC b n) f = ltr n f
{-# INLINE cat #-}
+ cat :: forall f1 f2 f3 . (f1 -> f2) -> (f2 -> f3) -> (f1 -> f3)
cat ft1 ft2 = \f -> ft2 $! ft1 f
----------------------------------------------------------------
@@ -354,9 +356,9 @@ analyzeBwd BwdPass { bp_lattice = lattice,
-- NB. eta-expand block, GHC can't do this by itself. See #5809.
block :: forall e x . Block n e x -> Fact x f -> f
block BNil f = f
- block (BlockCO n b) f = (ftr n `cat` block b) f
- block (BlockCC l b n) f = (ftr l `cat` block b `cat` ltr n) f
- block (BlockOC b n) f = (block b `cat` ltr n) f
+ block (BlockCO n b) f = (ftr n `cat` block b) f
+ block (BlockCC l b n) f = ((ftr l `cat` block b) `cat` ltr n) f
+ block (BlockOC b n) f = (block b `cat` ltr n) f
block (BMiddle n) f = mtr n f
block (BCat b1 b2) f = (block b1 `cat` block b2) f
@@ -364,6 +366,7 @@ analyzeBwd BwdPass { bp_lattice = lattice,
block (BTail n t) f = (mtr n `cat` block t) f
{-# INLINE cat #-}
+ cat :: forall f1 f2 f3 . (f2 -> f3) -> (f1 -> f2) -> (f1 -> f3)
cat ft1 ft2 = \f -> ft1 $! ft2 f
-----------------------------------------------------------------------------
More information about the Cvs-ghc
mailing list