[commit: ghc] wip/T10613: DmdAnal: Remember why “Many” things are many, even through ifaces (bdbafb7)
git at git.haskell.org
git at git.haskell.org
Mon Jul 4 12:06:34 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T10613
Link : http://ghc.haskell.org/trac/ghc/changeset/bdbafb7ebc01dcdf8ed6e7c2a139c4cd37a52a71/ghc
>---------------------------------------------------------------
commit bdbafb7ebc01dcdf8ed6e7c2a139c4cd37a52a71
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Mon Jul 4 10:16:07 2016 +0200
DmdAnal: Remember why “Many” things are many, even through ifaces
>---------------------------------------------------------------
bdbafb7ebc01dcdf8ed6e7c2a139c4cd37a52a71
compiler/basicTypes/Demand.hs | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/compiler/basicTypes/Demand.hs b/compiler/basicTypes/Demand.hs
index 58a3209..c8d42b0 100644
--- a/compiler/basicTypes/Demand.hs
+++ b/compiler/basicTypes/Demand.hs
@@ -69,6 +69,7 @@ import UniqFM
import Util
import BasicTypes
import Binary
+import FastString
import Maybes ( orElse )
import Type ( Type, isUnliftedType )
@@ -2066,12 +2067,15 @@ instance Binary ArgStr where
instance Binary Count where
put_ bh One = do putByte bh 0
- put_ bh (Many _) = do putByte bh 1
+ put_ bh (Many mr) = do
+ putByte bh 1
+ put_ bh (map mkFastString mr)
get bh = do h <- getByte bh
case h of
0 -> return One
- _ -> return (Many ["iface"])
+ _ -> do mr <- get bh
+ return (Many (map unpackFS mr))
instance Binary ArgUse where
put_ bh Abs = do
More information about the ghc-commits
mailing list