#947: ghc -O space leak: CSE between different CAFs
-----------------------------+----------------------------------------------
Reporter: int-e@… | Owner:
Type: bug | Status: new
Priority: normal | Milestone: _|_
Component: Compiler | Version: 6.5
Keywords: | Os: Linux
Architecture: x86 | Failure: None/Unknown
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
-----------------------------+----------------------------------------------
Changes (by michalt):
* failure: => None/Unknown
Comment:
Unless I'm missing something, I think there is a simple way to avoid doing
CSE
on recursive types (in the sense of ```isRecursiveTyCon```) -- one can
simply
avoid adding variables with such types to the CSE mapping (see attached
patch).
The problem here is that, according to nofib, this limits CSE quite a bit
and
hurts code size. Another possibility (although quite ugly) would be to
limit the
above to lists -- they are probably the main source of space leaks cause
by
CSE..
The patch "almost" validates -- the 5644 fails. Apparently the test is
based on
the assumption that the program overflows heap, which does not happen with
the
patch. I'm not sure what 5644 actually tests and so don't really know how
to
fix it.
So all in all, I'm not sure if this patch is worth it. What do you think?
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/947#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs