self compile with SSA simplifier

Stephen Weeks MLton@sourcelight.com
Mon, 19 Nov 2001 13:22:35 -0800


I've checked in changes so that we now pass all tests and can
self-compile with the SSA simplifier. Below are snippets from a
compile of the new MLton using an old one with the CPS simplifier and
a self-compile of the new MLton.  They show that the simplifier is
fairly close in speed to the old CPS simplifier.  The main difference
between the old compiler and the new one is almost certainly limit
check insertion, which leads to a lot more code for the codegen to
deal with, making it slower, and the executable much larger.  Once we
get limit checks right, we should be back under 500s self compiles.


MLton VERSION (built Thu Oct 18 19:18:03 2001 on starlinux)
   Compile SML starting
      pre codegen starting
	 closureConvertSimplify starting
	 closureConvertSimplify finished in 58.76 + 68.24 (54% GC)
      pre codegen finished in 116.09 + 142.89 (55% GC)
      x86 code gen starting
      x86 code gen finished in 160.95 + 64.40 (29% GC)
   Compile SML finished in 277.04 + 207.29 (43% GC)

size: 7442237 bytes


MLton VERSION (built Mon Nov 19 12:36:28 2001 on starlinux)
   Compile SML starting
      pre codegen starting
	 toSSASimplify starting
	 toSSASimplify finished in 68.19 + 77.75 (53% GC)
      pre codegen finished in 122.74 + 150.98 (55% GC)
      x86 code gen starting
      x86 code gen finished in 218.58 + 143.78 (40% GC)
   Compile SML finished in 341.32 + 294.76 (46% GC)

size: 12815261 bytes