| 1 | 1 patch for repository darcs.haskell.org:/srv/darcs/ghc: |
|---|
| 2 | |
|---|
| 3 | Fri Apr 1 11:39:49 BST 2011 Max Bolingbroke <batterseapower@hotmail.com> |
|---|
| 4 | * Really zap case-binder occurrence info: solves #5028 |
|---|
| 5 | |
|---|
| 6 | New patches: |
|---|
| 7 | |
|---|
| 8 | [Really zap case-binder occurrence info: solves #5028 |
|---|
| 9 | Max Bolingbroke <batterseapower@hotmail.com>**20110401103949 |
|---|
| 10 | Ignore-this: 639b522454cd603f7650f40f855d5ab2 |
|---|
| 11 | ] { |
|---|
| 12 | hunk ./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 | |
|---|
| 21 | hunk ./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 | |
|---|
| 33 | Context: |
|---|
| 34 | |
|---|
| 35 | [TAG git migration |
|---|
| 36 | Ian Lynagh <igloo@earth.li>**20110331134846 |
|---|
| 37 | Ignore-this: 5572f46dda57e62defcb124c3a80069a |
|---|
| 38 | ] |
|---|
| 39 | Patch bundle hash: |
|---|
| 40 | d161df54790e44ffc4d4377fb4a065da0ece3ad0 |
|---|