module Register:sig..end
typet = privatestring
val fresh : unit -> tun pseudo-registre frais (de la forme "#nnn")
val is_hw : t -> bools'agit-il d'un registre physique?
val is_pseudo : t -> bools'agit-il d'un pseudo-registre?
val print : Stdlib.Format.formatter -> t -> unitfonction d'impression
module M:Map.Swith type key = t
type'amap ='a M.t
dictionnaires dont les clés sont des registres
module S:Set.Swith type elt = t
typeset =S.t
ensembles dont les éléments sont des registres
val set_of_list : t list -> set
val print_set : Stdlib.Format.formatter -> set -> unitfonction d'impression
val rax : t
val rdx : t
val rdi : t
val rbp : t
val rsp : tquelques registres particuliers
val parameters : t list
val result : tregistres utilisés pour passer les paramètres et renvoyer le résultat
val caller_saved : t list
val callee_saved : t list
val allocatable : setensemble des registres participant à l'allocation de registres
val tmp1 : t
val tmp2 : tdeux registres ne faisant pas partie de allocatable,
que l'on peut donc utiliser pour compiler des instructions non atomiques
(par exemple un double accès à la mémoire)