package ocaml-base-compiler
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=f5a48a90557cb47ace7b1590fcab1362a1af38629a218350f69c225c57e96a41
doc/ocamloptcomp/Compute_ranges/Make/argument-1-S/Key/index.html
Module S.Key
The module Key corresponds to the identifiers that define the ranges in Linear instructions. Each instruction should have two sets of keys, available_before and available_across, with accessor functions of these names being provided to retrieve them. The notion of "availability" is not prescribed. The availability sets are used to compute subranges associated to each key.
module Set : sig ... endval print : Format.formatter -> t -> unitPrint a representation (typically sexp) of the given key to the given formatter.
In some situations, for performance reasons, an "available" set may only contain a subset of all keys that need to be tracked. For example, when using a notion of availability that describes which lexical block a given instruction lies in, using a standard notion of nested lexical blocks, the innermost lexical block uniquely determines the chain of its parents. (This is exploited in Lexical_block_ranges.) The all_parents function must return, given an "available" key, all those other keys that are also available and uniquely determined by key.