module BTLtypes:sig
..end
Common type definitions for BTL: oracles' types and shadow fields
type
inst_info_shadow = {
|
mutable inumb : |
|
mutable opt_info : |
|
mutable visited : |
|
mutable liveins : |
}
This struct is a shadow field attached to each BTL instruction * inumb: int field used for remembering the original numbering of CFG * opt_info: option bool used for various tests: * - On Bcond, stores the prediction information * - On Bload, stores the trapping information (if Some false, the load was * initially non-trapping, and the opposite if some true) * visited: boolean used to tag instructions * liveins: set of lives registers
type
block_info = {
|
mutable bnumb : |
|
mutable visited : |
|
mutable input_regs : |
|
mutable s_output_regs : |
|
mutable successors : |
|
mutable predecessors : |
}
Shadow field attached to each BTL iblock_info type * bnumb: int representing the block id in the BTL CFG * visited: boolean used to tag blocks * input_regs: set of input (live) registers * s_output_regs: set of output (live) registers * successors and predecessors: list of them
type
function_info = {
|
typing : |
|
bb_mode : |
}
Shadow field attached to each BTL function * typing: field transferring RTL typing information in BTL (used in regpres scheduling)
module OrdIS:Stdlib.Set.Make
(
Stdlib.Int
)
Notations for Ordered sets of integers
val ($?) : OrdIS.elt -> OrdIS.t -> bool
val ($+) : OrdIS.elt -> OrdIS.t -> OrdIS.t
val ($-) : OrdIS.elt -> OrdIS.t -> OrdIS.t
val ($|$) : OrdIS.t -> OrdIS.t -> OrdIS.t
val ($&$) : OrdIS.t -> OrdIS.t -> OrdIS.t
val (~$) : OrdIS.elt -> OrdIS.t
val (!$-) : OrdIS.t -> OrdIS.elt
val (!$+) : OrdIS.t -> OrdIS.elt
type
inv_t =
| |
Gluing |
| |
History |
Type of invariants in oracles