Legend:
Library
Module
Module type
Parameter
Class
Class type
BIL variable.
BIL variables are regular values. Variables can have indices. Usually the index is used to represent the same variable but at different time or space (control flow path). This is particulary useful for representing variables in SSA form.
By default, comparison functions takes indices into account. In order to compare two variables regardless their index use same function, or compare with base x.
A variable can represent a physical register or be just a virtual variable.
Printing
A default pretty printer doesn't print zero indices.
val set_default_printer : ?ver:string ->string -> unit
val with_printer : ?ver:string ->string ->(unit ->'a)->'a
val find_reader : ?ver:string ->string ->tRegular.Std.reader option
val find_writer : ?ver:string ->string ->tRegular.Std.writer option
val create : ?is_virtual:bool ->?fresh:bool ->string ->typ->t
create ?register ?fresh name typ creates a variable with a given name and type.
A newly created variable has version equal to 0.
If fresh is true (defaults to false), then a unique salt is mixed to the name of variable, making it unique.
If is_virtual is true (defaults to false), then a variable is virtual, i.e., it doesn't correspond to some physical register or memory location and was added to a program artificially.