patch applied (ghc-6.8/ghc): Fix #1709: do not expose the worker
for a loop-breaker
Simon Peyton Jones
simonpj at microsoft.com
Tue Oct 16 09:23:08 EDT 2007
Tue Oct 16 06:18:40 PDT 2007 simonpj at microsoft.com
* Fix #1709: do not expose the worker for a loop-breaker
The massive 'Uni' program produced a situation in which a function that
had a worker/wrapper split was chosen as a loop breaker. If the worker
is exposed in the interface file, then an importing module may go into
an inlining loop: see comments on TidyPgm.tidyWorker.
This patch fixes the inlining bug. The code that gives rise to this
bizarre case is still not good (it's a bunch of implication constraints
and we are choosing a bad loop breaker) but the first thing is to fix the
bug.
It's rather hard to produce a test case!
Please merge to the 6.8 branch.
M ./compiler/main/TidyPgm.lhs -7 +19
More information about the Cvs-ghc
mailing list