úÎ# |Safe4p reg-allocÿTransform a list of basic blocks, containing variable references, into an equivalent list where each reference has been associated with a register allocation. Artificial save and restore instructions may be inserted into those blocks to indicate spilling and reloading of variables.ÿIn order to call this function, the caller must provide records that functionally characterize these blocks and their operations according to an abstract API. This is done so that any program graph conforming to the API may be used, and no particular representation is required.¤A tuple is return where the first value is a textual dump that describes the complete allocation state. If this value is never forced, that data is not collected.œThe second value is the resulting list of allocated blocks. If allocation is found to be impossible -- for example if there are not enough registers -- a Ó value is returned, with a list of strings describing the error and its possible context. This is usually when the textual dump should be provided, if one's user has selected verbose error output, for example. reg-alloc"Maximum number of registers to use reg-allocCharacterization of blocks reg-allocCharacterization of operations reg-alloc#Whether to use the runtime verifier reg-alloc%A topologically sorted list of blocks reg-alloc5Status dump and allocated blocks, or error w/ contextreg-alloc-0.1.0.0-inplaceRegAllocholeallocatebase Data.EitherLeft