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

On branch  : new-demand

http://hackage.haskell.org/trac/ghc/changeset/f9cf7043866ba3a09a695a5f6028906a71e03e00

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

commit f9cf7043866ba3a09a695a5f6028906a71e03e00
Author: Ilya Sergey <[email protected]>
Date:   Tue Aug 14 20:35:37 2012 +0100

    an attempt to remedy argument split problem

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

 compiler/stranal/NewWwLib.lhs |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/compiler/stranal/NewWwLib.lhs b/compiler/stranal/NewWwLib.lhs
index 78378b1..112e587 100644
--- a/compiler/stranal/NewWwLib.lhs
+++ b/compiler/stranal/NewWwLib.lhs
@@ -402,9 +402,12 @@ mkWWstr_one dflags arg
                -- But the Evald flag is pretty weird, and I worry that it 
might disappear
                -- during simplification, so for now I've just nuked this whole 
case
 
+      -- TODO: explain!!          
+      JD {strd=SProd _, absd=Used} -> return ([arg], nop_fn, nop_fn)
+
        -- Unpack case, 
         -- see note [Unpacking arguments with product and polymorphic demands]
-      d | isStrictDmd d && isUsedDmd d
+      d | isStrictDmd d
         , isProdDmd d || isPolyDmd d
        , Just (_arg_tycon, _tycon_arg_tys, data_con, inst_con_arg_tys) 
              <- deepSplitProductType_maybe (idType arg)



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

Reply via email to