Daniel Thornburgh
Daniel Thornburgh
The greedy register allocator is heuristic and imperfect; despite our best efforts, it may still spill values to the stack slot when it could have spilled them to imaginary registers....
After getting some experience with NMI code for the NES, a fairly clear calling convention has emerged for such code. Typically, an interrupt handler will save A, X, and Y,...
It would be nice to have bare-metal, I'm the OS now configurations for the Atari 8-bit and Commodore family. This would allow writing games and demos that completely control the...
There are cases where the only use of an imaginary register is to feed a load or store of an absolute memory location. In such cases, it's often better for...
We should have a way of detecting code size regressions so they can be diagnosed and fixed (if possible).
The C standard requires that pointers to the same array in two different invocations of the same function be unequal. This is done by using a memcpy from a static...
Even a simple jump table can cause the caller to be marked as possibly recursive: ```C void foo(void) {} void bar(void) {} extern char c; int main(void) { void (*routines[])(void)...
It looks like Github Actions now has beta support for Apple Silicon; we should establish a llvm-mos-sdk builder for it.
It looks (cursorily) like we're within our rights to establish 24-bit integer types in stdint.h. The `_BitInt(24)` extension for this isn't very well known, and it's come up a few...