Romcc
From Wikipedia, the free encyclopedia
Romcc is a C compiler which generates code which uses only processor registers to store variables, instead of RAM. It was designed to aid with RAM initialization inside the BIOS. Before the RAM has been initialized there is no RAM available for use, and so therefore romcc code uses only the registers. GCC would not be suitable for writing code like this as it requires a stack, which clearly would have to be contained in RAM.
All functions compiled by romcc will be inlined, which leads to all code being roughly 3x larger than hand-coded assembly.

