[project @ 2005-08-03 13:53:35 by simonmar]
authorsimonmar <unknown>
Wed, 3 Aug 2005 13:53:36 +0000 (13:53 +0000)
committersimonmar <unknown>
Wed, 3 Aug 2005 13:53:36 +0000 (13:53 +0000)
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.


No differences found