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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/40769ea371095f2446cb3ee30c778ff35ca00481

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

commit 40769ea371095f2446cb3ee30c778ff35ca00481
Author: Ian Lynagh <[email protected]>
Date:   Fri Apr 1 15:16:30 2011 +0100

    Really zap case-binder occurrence info: solves #5028
    
    Converted from a darcs patch from Max Bolingbroke:
        Fri Apr  1 11:39:49 BST 2011  Max Bolingbroke 
<[email protected]>
          * Really zap case-binder occurrence info: solves #5028

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

 compiler/simplCore/OccurAnal.lhs |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/compiler/simplCore/OccurAnal.lhs b/compiler/simplCore/OccurAnal.lhs
index ae8d960..7692b62 100644
--- a/compiler/simplCore/OccurAnal.lhs
+++ b/compiler/simplCore/OccurAnal.lhs
@@ -1146,7 +1146,7 @@ wrapProxy (bndr, rhs_var, co) (body_usg, body)
   where
     (body_usg', tagged_bndr) = tagBinder body_usg bndr
     rhs_usg = unitVarEnv rhs_var NoOccInfo     -- We don't need exact info
-    rhs = mkCoerceI co (Var rhs_var)
+    rhs = mkCoerceI co (Var (zapIdOccInfo rhs_var)) -- See Note [Zap case 
binders in proxy bindings]
 \end{code}
 
 
@@ -1582,8 +1582,7 @@ extendProxyEnv pe scrut co case_bndr
   | otherwise          = PE env2 fvs2  --   don't extend
   where
     PE env1 fvs1 = trimProxyEnv pe [case_bndr]
-    zapped_case_bndr = zapIdOccInfo case_bndr  -- See Note [Zap case binders 
in proxy bindings]
-    env2 = extendVarEnv_Acc add single env1 scrut1 (zapped_case_bndr,co)
+    env2 = extendVarEnv_Acc add single env1 scrut1 (case_bndr,co)
     single cb_co = (scrut1, [cb_co]) 
     add cb_co (x, cb_cos) = (x, cb_co:cb_cos)
     fvs2 = fvs1 `unionVarSet`  freeVarsCoI co



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

Reply via email to