There is nothing in the manual that either suggests register allocation is necessary, nor that it is something that lightning does.
The idea that by restricting to six GP registers and six (or seven?) FP registers gives a straightforward, well-defined semantics for all processors seems on the face of it a good one.
The recent post suggests that the semantics is in fact not so well-defined.
If the register allocation algorithm has any observable effects above the API then those need to be clearly defined because the utility of a library depends completely upon the interface being intelligible from the documentation, and lightning's is most certainly not. Unfortunately the code is such that it is not intelligible through reading that either.
This is not good. We need to make the core functionality of the tool very much more clear than it currently is.