On PL.8 case by creating an OS for RISC research at IBM, before they decided to reboot the effort as Aix, by joining the newly UNIX workstation market.
"Our basic procedure is
to compile and execute a test bucket of 150 self
checking programs every night. The test run produces
code which is executed on all computers and at various
levels of optimization. [...] In addition, the PL.8 effort has lead to a
powerful compiler testing strategy. The PL.8 compiler
is written in PL.8 and compiles itself. Periodically a
"fixed point" is compiled. The current source is
completely reeompiled using a compiler whose
operation is believed to correspond to that source.
The object and listing output of this compilation is
saved and also used to build a new compiler. This
new compiler is then used to compile the same source
again. A bit for bit comparison of the object and
listing files from both compiles is then made (ignoring
dates, times, and other system noise)."
That seems like a really small test suite for a compiler. I guess it was just much smaller than today's compilers.
I recently wrote a toy barebones compiler for amd64 x86_64 It cannot compile anything significant besides addition and multiplication expressions yet but I think the code is educational.
My dream is to write a JIT compiler that is similar to HolyC. I want it to be expressive and powerful and parallel and concurrent.
I do live range analysis and simple register allocation.
7 comments
[ 3.4 ms ] story [ 9.2 ms ] threadhttps://dl.acm.org/doi/10.1145/800230.806977
https://news.ycombinator.com/item?id=32902737
That seems like a really small test suite for a compiler. I guess it was just much smaller than today's compilers.
My dream is to write a JIT compiler that is similar to HolyC. I want it to be expressive and powerful and parallel and concurrent.
I do live range analysis and simple register allocation.
https://GitHub.com/samsquire/compiler