• simonpj@microsoft.com's avatar
    Fix #1709: do not expose the worker for a loop-breaker · 592269df
    simonpj@microsoft.com authored
    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
    It's rather hard to produce a test case!
    Please merge to the 6.8 branch.