[MLton] MLton HOL

Stephen Weeks MLton@mlton.org
Wed, 2 Jun 2004 06:49:04 -0700

> > > Any progress in solving the space blowup when compiling huge
> > > programs?
> >
> > No luck yet, but I'm on it.  It will be fixed.
> Any particular suspects here? 

Yes.  The problem is in the computation and representation of liveness
information, which is (neccessarily) sometimes quadratic.  The
particular problem in HOL is the main function, which has 161,783
blocks and 257,519 variables -- the product of those two numbers being
about 860 million.  I put in some improvements to the liveness pass to
cut down on space, but they did not solve the problem.  I also put in
a simple RSSA shrinker to cut down on the number of blocks, but that
also did not help.

Today, I'm going to put in some improvements to the SSA simplifier to
keep the main function smaller -- in particular I may turn off
inlining inside of main or contifying inside of main.  I don't think
that that will have any significant performance impact.  We'll see.