Skip to content
  • Simon Marlow's avatar
    [project @ 2005-08-03 13:53:35 by simonmar] · cfd9e9b3
    Simon Marlow authored
    Patch from SimonPJ (slightly tweaked by me after checking performance
    results):
    
    Fix occasional O(n^2) behaviour in the simplifier.  There was a
    possibility that by inlining a binding, we could re-simplify an
    arbitrary sized expression.  This patch fixes it by moving the
    inlining of arbitrary-sized expressiong to the binding site
    (preInlineUnconditionally), so the decision to inline happens before
    simplifying the RHS.  To do this, we have to collect more information
    during the occurrence analysis phase.
    
    We still make inlining decisions at the call site, but they are always
    size-limited, so we can't get quadratic blowup.
    cfd9e9b3