|
[GHC] #701: Better CSE optimisation: msg#00052lang.haskell.glasgow.bugs
#701: Better CSE optimisation -------------------------+-------------------------------------------------- Reporter: simonmar | Owner: Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 6.4.1 Severity: normal | Keywords: Os: Unknown | Difficulty: Difficult (1 week) Architecture: Unknown | -------------------------+-------------------------------------------------- GHC's CSE optimisation is pretty weedy. It looks for expressions like this: {{{ let x = e1 in e2 }}} and replaces all occurrences of e1 in e2 with x. This doesn't do full CSE, but it does catch some cases. There have been case where full CSE would be significantly beneficial, though. One possible way forward is to have a separate CSE pass that transformed expressions containing common subexpressions into the let-form above, and let the existing CSE pass do the final replacement. We must be cautious, though: increasing sharing can introduce space leaks. Sometimes we can prove that this cannot happen, for example when the shared object is primitive, or has a bounded size. -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/701> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler_______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@xxxxxxxxxxx http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | The make problem, Ian Lynagh |
|---|---|
| Next by Date: | Re: [GHC] #474: Debug.Trace.trace should work on Show, GHC |
| Previous by Thread: | The make problem, Ian Lynagh |
| Next by Thread: | trouble running GHCi 6.4 on PowerPC GNU/Linux, K.D.P.Ross |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |