Anyway, this looks dope. Truthfully, we could use more hyper-specific languages like this in all sorts of areas.
Anyway, this looks dope. Truthfully, we could use more hyper-specific languages like this in all sorts of areas.
I plan on writing an article on how my own code generator works. If you check my HN profile in a week or two you'll probably see it submitted.
The "Greedy register allocator" in LLVM is a just finely tuned priority allocator with nice live-range splitting. It works great for zero page cache locations, but it's just not tuned very well for tight register classes like those involving the processor's three architectural registers. I've half a mind to implement Hack's SSA-based register allocator in LLVM to use on A, X, and Y; this would clean up the oodles of spurious copies LLVM-MOS spits out in the worst cases.