x86 self-compile

Matthew Fluet fluet@CS.Cornell.EDU
Tue, 1 Aug 2000 22:30:00 -0400 (EDT)


Well, looks like some good things are coming out of the x86 back-end.
I've got a successful compile of mlton.sml using the x86 backend.  This is
essentially using the same backend that the previous benchmarks discussed
with some improvements to the register allocator.  So, we don't expect to
see any great performance improvement (although, it's much faster than the
smlnj version of mlton).  Steve and I are working on incorporating some
liveness analysis into the register allocator, which we're hoping will be
a big win.

The self-compiled mlton just finished the regression suite, using the both
the x86-codegen and the c-codgen.  Both codegens failed some tests, so
there are some bugs left to work out.  But, I'm confident that we'll have
something worthwhile in a couple of weeks.

Note: this version of the x86-backend still doesn't support floating
point.  And, there are a few hacks in there to allow a program that uses
floating point to be compiled -- all floating point operations become
nops.  This causes some problems, and mlton itself uses floating point
(through the basis library) in some places; so there's a slight chance
that some bugs in the self-compled version are due to execution of code
that supposed to be working with floating point.