Ticket #5028: 5028.dpatch

File 5028.dpatch, 1.4 KB (added by batterseapower, 2 years ago)
Line 
11 patch for repository darcs.haskell.org:/srv/darcs/ghc:
2
3Fri Apr  1 11:39:49 BST 2011  Max Bolingbroke <batterseapower@hotmail.com>
4  * Really zap case-binder occurrence info: solves #5028
5
6New patches:
7
8[Really zap case-binder occurrence info: solves #5028
9Max Bolingbroke <batterseapower@hotmail.com>**20110401103949
10 Ignore-this: 639b522454cd603f7650f40f855d5ab2
11] {
12hunk ./compiler/simplCore/OccurAnal.lhs 1149
13   where
14     (body_usg', tagged_bndr) = tagBinder body_usg bndr
15     rhs_usg = unitVarEnv rhs_var NoOccInfo     -- We don't need exact info
16-    rhs = mkCoerceI co (Var rhs_var)
17+    rhs = mkCoerceI co (Var (zapIdOccInfo rhs_var)) -- See Note [Zap case binders in proxy bindings]
18 \end{code}
19 
20 
21hunk ./compiler/simplCore/OccurAnal.lhs 1585
22   | otherwise          = PE env2 fvs2  --   don't extend
23   where
24     PE env1 fvs1 = trimProxyEnv pe [case_bndr]
25-    zapped_case_bndr = zapIdOccInfo case_bndr  -- See Note [Zap case binders in proxy bindings]
26-    env2 = extendVarEnv_Acc add single env1 scrut1 (zapped_case_bndr,co)
27+    env2 = extendVarEnv_Acc add single env1 scrut1 (case_bndr,co)
28     single cb_co = (scrut1, [cb_co])
29     add cb_co (x, cb_cos) = (x, cb_co:cb_cos)
30     fvs2 = fvs1 `unionVarSet`  freeVarsCoI co
31}
32
33Context:
34
35[TAG git migration
36Ian Lynagh <igloo@earth.li>**20110331134846
37 Ignore-this: 5572f46dda57e62defcb124c3a80069a
38]
39Patch bundle hash:
40d161df54790e44ffc4d4377fb4a065da0ece3ad0