projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
970fca0
)
[project @ 2004-12-21 16:23:23 by simonpj]
author
simonpj
<unknown>
Tue, 21 Dec 2004 16:23:23 +0000
(16:23 +0000)
committer
simonpj
<unknown>
Tue, 21 Dec 2004 16:23:23 +0000
(16:23 +0000)
Fix buglet in CSE
ghc/compiler/simplCore/CSE.lhs
patch
|
blob
|
history
diff --git
a/ghc/compiler/simplCore/CSE.lhs
b/ghc/compiler/simplCore/CSE.lhs
index
9e40c57
..
14febd6
100644
(file)
--- a/
ghc/compiler/simplCore/CSE.lhs
+++ b/
ghc/compiler/simplCore/CSE.lhs
@@
-132,8
+132,8
@@
cseBinds env (b:bs) = (b':bs')
bs' = cseBinds env1 bs
cseBind :: CSEnv -> CoreBind -> (CSEnv, CoreBind)
bs' = cseBinds env1 bs
cseBind :: CSEnv -> CoreBind -> (CSEnv, CoreBind)
-cseBind env (NonRec b e) = let (env', (_,e')) = do_one env (b, e)
- in (env', NonRec b e')
+cseBind env (NonRec b e) = let (env', (b',e')) = do_one env (b, e)
+ in (env', NonRec b' e')
cseBind env (Rec pairs) = let (env', pairs') = mapAccumL do_one env pairs
in (env', Rec pairs')
cseBind env (Rec pairs) = let (env', pairs') = mapAccumL do_one env pairs
in (env', Rec pairs')
@@
-175,7
+175,6
@@
cseExpr env (Lam b e) = let (env', b') = addBinder env b
in Lam b' (cseExpr env' e)
cseExpr env (Let bind e) = let (env', bind') = cseBind env bind
in Let bind' (cseExpr env' e)
in Lam b' (cseExpr env' e)
cseExpr env (Let bind e) = let (env', bind') = cseBind env bind
in Let bind' (cseExpr env' e)
--- gaw 2004
cseExpr env (Case scrut bndr ty alts) = Case scrut' bndr' ty (cseAlts env' scrut' bndr bndr' alts)
where
scrut' = tryForCSE env scrut
cseExpr env (Case scrut bndr ty alts) = Case scrut' bndr' ty (cseAlts env' scrut' bndr bndr' alts)
where
scrut' = tryForCSE env scrut