Compute_ranges_intf
This file defines types that are used to specify the interface of Compute_ranges
. The description of Compute_ranges
is:
"Coalescing of per-instruction information into possibly-discontiguous regions of code delimited by labels. This is used for collating register availability and lexical block scoping information into a concise form."
Compute_ranges
defines a functor, whose argument has type S_functor
, and whose result has type S
. Both S_functor
and S
are defined here.
It is suggested that those unfamiliar with this module start by reading the documentation on module type S
, below.
module L = Linear
module type S_subrange_state = sig ... end
The type of caller-defined contextual state associated with subranges. This may be used to track information throughout the range-computing process.
module type S_subrange_info = sig ... end
The type of caller-defined information associated with subranges.
module type S_range_info = sig ... end
The type of caller-defined information associated with ranges.
module type S_functor = sig ... end
This module type specifies what the caller has to provide in order to instantiate a module to compute ranges.
module type S = sig ... end
This module type is the result type of the Compute_ranges.Make
functor.