Staged Allocation for MLRISC Mike Rainey (mrainey@cs.uchicago.edu) Staged allocation is a technique for handling calling conventions for different architectures and languages. The basic idea is to use a domain-specific language for calling conventions and an allocator machine. The allocator machine takes a convention encoded in this language and a function signature and returns the machine locations for passing and returning values. From there, it is trivial to generate the calling sequence. For the full treatment, see the original paper by Olinsky et. al. * Staged allocation: a compositional technique for specifying and implementing procedure calling conventions - http://www.eecs.harvard.edu/~nr/pubs/staged-abstract.html Our library consists of two parts: * allocator - follows the operational semantics given in the paper * conventions - several calling conventions