>>>>> "Nicolas" == Nicolas Neuss <[EMAIL PROTECTED]> writes:


    >> It looks like somewhere in the compiler there is an O(n^2) algorithm
    >> which is the bottleneck in the compilation for your program.  This
    >> isn't entirely surprising to me: many of the phases in a compiler have
    >> problems with solutions easily expressed in O(n^2) time or worse.
    >> Have you tried profiling bits of the compiler to see where most of the
    >> time is spent?

    Nicolas> I did it now.  The culprit is the function IR1-OPTIMIZE in
    Nicolas> "compiler/ir1opt.lisp".

    Nicolas> In this routine there is a nested loop over blocks at the beginning
    Nicolas> which
    Nicolas> looks like O(n^2).  I would also be interested to profile
    Nicolas> IR1-OPTIMIZE-BLOCK, but this does not work:

    Nicolas>   "Warning:  Ignoring undefined function C::IR1-OPTIMIZE-BLOCK"

Recompile ir1opt.lisp with :block-compile nil and reload ir1opt.  You
will be able to see ir1-optimize-block now.  (It was block-compiled
away.)

Ray


Reply via email to