Easy stack frames

So my backend is proceeding nicely; I have most of the ALU instructions,
some memory operations, and it's even doing sign extension correctly
(which wasn't easy).

Next step is to make all the stack frame machinery work. Looking at the
other ports, there's quite a lot of this, and a lot of it is unobvious.

I'm aware that most of the existing first-class ports have to conform to
third-party ABIs when it comes to stack layout and calling convention,
which makes them more complicated than it could be. My archicture
doesn't have an ABI, so I get to pick whatever is easiest; and it's a
register-centric RISC architecture, so every stack spill/restore becomes
a memory op.

Given that I don't care what my stack layout is, is there any built-in
support in LLVM that will make my life easier? For example, can I get
LLVM to automatically expand stack spills/restores into load and store
instructions? Can I get LLVM to figure out the stack layout itself?

(Also, if any of this has been documented, a pointer would be really