From: simonpj@microsoft.com Date: Fri, 5 Dec 2008 10:24:37 +0000 (+0000) Subject: Comments only X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=7aae56e341178c02f213fbc2e8adc2d461cba2fc Comments only --- diff --git a/compiler/simplCore/CSE.lhs b/compiler/simplCore/CSE.lhs index 8b5825b..9b90220 100644 --- a/compiler/simplCore/CSE.lhs +++ b/compiler/simplCore/CSE.lhs @@ -49,8 +49,8 @@ So we carry an extra var->var substitution which we apply *before* looking up in reverse mapping. -[Note: SHADOWING] -~~~~~~~~~~~~~~~~~ +Note [Shadowing] +~~~~~~~~~~~~~~~~ We have to be careful about shadowing. For example, consider f = \x -> let y = x+x in @@ -239,7 +239,7 @@ cseAlts :: CSEnv -> CoreExpr -> CoreBndr -> CoreBndr -> [CoreAlt] -> [CoreAlt] cseAlts env scrut' bndr _bndr' [(DataAlt con, args, rhs)] | isUnboxedTupleCon con -- Unboxed tuples are special because the case binder isn't - -- a real values. See Note [Unboxed tuple case binders] + -- a real value. See Note [Unboxed tuple case binders] = [(DataAlt con, args'', tryForCSE new_env rhs)] where (env', args') = addBinders env args @@ -347,7 +347,7 @@ addBinder (CS cs in_scope sub) v (CS emptyUFM in_scope sub, v) -- This last case is the unusual situation where we have shadowing of -- a type variable; we have to discard the CSE mapping - -- See "IMPORTANT NOTE" at the top + -- See Note [Shadowing] where v' = uniqAway in_scope v