After a lot of pound the code generator seems stable, and I can take a break to release romcc.
Currently it appears that any time it completes without error the code generated is correct.
And most importantly with a few minor tweaks it compiles the code written for l440gx memory initialization, before the compiler was written.
Currently ``constant propagation'', ineffectual code elimination (code that does not affect the output), a good register allocator and always inlining are the only optimizations implemented.
On the wishlist are: - using the mmx & sse registers on x86. - x86-64 and Itanium ports. - struct support - non string constant initializers. - A bibliography.
But it should be good enough to start playing with. The version gets to be 1.0 when the compiler is useful enough to compile a LinuxBIOS port.
ftp://ftp.lnxi.com/pub/src/linuxbios/romcc-0.21.tar.gz
Eric